Questions tagged «wpf»

Windows Presentation Foundation或WPF是用于在基于Windows的应用程序中呈现用户界面的子系统。

4
使用StringFormat将字符串添加到WPF XAML绑定
我有一个WPF 4应用程序,其中包含一个TextBlock,该TextBlock具有单向绑定到整数值(在这种情况下为摄氏度)的功能。XAML看起来像这样: <TextBlock x:Name="textBlockTemperature"> <Run Text="{Binding CelsiusTemp, Mode=OneWay}"/></TextBlock> 这对于显示实际温度值效果很好,但是我想格式化该值,因此它包括°C而不是数字(30°C而不是30)。我一直在阅读有关StringFormat的文章,并且看到了一些类似的通用示例: // format the bound value as a currency <TextBlock Text="{Binding Amount, StringFormat={}{0:C}}" /> 和 // preface the bound value with a string and format it as a currency <TextBlock Text="{Binding Amount, StringFormat=Amount: {0:C}}"/> 不幸的是,在我尝试执行的过程中,我所见的所有示例均未将字符串附加到绑定值上。我敢肯定它一定很简单,但是我找不到运气。谁能告诉我该怎么做?

12
WPF数字UpDown控件在哪里?
进入第一个严肃的WPF项目。似乎有很多基本控件完全失踪了。具体来说,我正在寻找数字UpDown控件。我错过了带外发行吗?真的不喜欢自己编写控件。 我不想使用WindowsFormHost并在其上放入WinForm ctl。我希望它完全是WPF,而且没有任何遗留垃圾。 谢谢

25
WPF和XAML的隐藏功能?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它当前不接受新的答案或互动。 这是为各种语言讨论的大量隐藏功能。现在,我对XAML和WPF的某些隐藏功能感到好奇吗? 我发现的一个是ListView的标题单击事件 <ListView x:Name='lv' Height="150" GridViewColumnHeader.Click="GridViewColumnHeaderClickedHandler"> GridViewColumnHeader.Click属性未列出。 到目前为止的一些相关功能: 多重绑定结合StringFormat TargetNullValue绑定 TextTrimming属性 标记扩展 向窗口添加航空效果 先进的“字幕”属性 XAML转换器 也可以看看: C#的隐藏功能 Python的隐藏功能 ASP.NET的隐藏功能 Perl的隐藏功能 Java的隐藏功能 VB.NET的隐藏功能 PHP的隐藏功能 Ruby的隐藏功能 C的隐藏功能 等等........

5
在WPF中更改光标有时行得通,有时行不通
在几个用户控件上,我通过使用 this.Cursor = Cursors.Wait; 当我点击某些东西时。 现在,我想在WPF页面上单击按钮来执行相同的操作。当我将鼠标悬停在按钮上时,光标变为手形,但是单击它时,光标不会变为等待光标。我想知道这是否与按钮有关,还是因为这是页面而不是用户控件?这似乎是奇怪的行为。
123 c#  wpf 

6
使WPF应用程序看起来像Metro风格,即使在Windows 7中也是如此?(Chrome浏览器/主题/主题)
我喜欢新的Office Suite和Visual Studio上的窗口镶边: 当然,我仍在为Windows 7开发应用程序,但我想知道是否有一种快速简便的方法(阅读:WPF样式或Windows库)来模仿这种样式。我过去曾经做过一些窗口镀铬样式设计,但是要使其外观和行为恰到好处确实很棘手。 有谁知道是否有现有的模板或库可以为WPF应用程序添加“现代UI”外观?

5
有没有办法在XAML中链接多个值转换器?
在经过两次单独的转换后,我需要显示一个整数值,该值绑定到我的数据上下文中的属性: 反转某个范围内的值(例如,范围是1到100;数据上下文中的值是90;用户看到的值是10) 将数字转换为字符串 我意识到我可以通过创建自己的转换器(实现IValueConverter)来完成这两个步骤。但是,我已经有一个单独的值转换器,它仅执行第一步,而第二步由Int32Converter覆盖。 有没有一种方法可以在XAML中链接这两个现有类,而不必创建进一步的类来聚合它们? 如果我需要澄清其中任何一个,请告诉我。:) 谢谢。


9
如何在WPF中使一组切换按钮像单选按钮一样工作?
我有一组按钮应该像切换按钮一样工作,但也应作为单选按钮,在这些单选按钮中,当前只能选择/按下一个按钮。它还需要处于没有选择/按下任何按钮的状态。 行为类似于Photoshop工具栏,可随时选择零或其中一种工具! 知道如何在WPF中实现吗?
122 wpf 


4
在WPF中创建菜单栏?
我想在WPF应用程序中创建一个与Windows窗体中的菜单栏相同的菜单栏。 我该怎么做? WPF控件工具箱中的菜单选项仅提供一个空白栏。
120 c#  wpf  xaml 

6
如何在代码中向WPF标签添加文本?
我感到很愚蠢,但无法找出如何在代码中向WPF Label控件添加文本。就像下面的TextBlock一样: DesrTextBlock.Text = "some text"; Label中等效的属性是什么? DesrLabel.??? = "some text"; //something like this
120 c#  wpf 

8
Windows 8中的Metro应用程序如何与同一台计算机上的后端桌面应用程序通信?
如果您具有使用Windows 8的Metro新应用程序构建的UI前端,并且希望它与运行在同一本地计算机上的桌面上的.NET应用程序(例如Windows服务应用程序)进行通信,则这种情况。 Metro应用程序和桌面应用程序之间可以使用哪些形式的进程间通信? 感谢Visual Studio团队的Pavel Minaev,他在此处的注释中提供了一些初始信息,并引用了: 根据马丁·洛夫(Martyn Lovell)的说法,没有任何故意的机制,有意使用的机制受到有意限制。例如,命名管道不存在,内存映射文件也不存在。有套接字(包括服务器套接字),但是当连接到本地主机时,只能连接到同一应用程序。您可以在共享的“已知文件夹”之一中使用普通文件(“文档”,“图片”等),但这是一个相当粗糙的技巧,需要轮询并且对用户可见。- 帕维尔Minaev评论这个问题 因此,如果无法使用常规方法,我会考虑使用Web服务或对数据库进行读/写操作,以实现某种形式的通信,而当进程在同一台计算机上运行时,这两种方法似乎都显得过分了。 我在这里尝试的是有意义的吗?我可以看到需要将Metro应用程序作为桌面上运行的现有服务的前端UI。或者将WPF用于在桌面上运行的前端UI(即非地铁应用程序)会更好。

7
处置WPF用户控件
我已经创建了一个供第三方使用的自定义WPF用户控件。我的控件有一个私有成员,该成员是可抛弃的,并且我想确保一旦包含窗口/应用程序关闭,它的dispose方法将始终被调用。但是,UserControl不是一次性的。我尝试实现IDisposable接口并订阅Unloaded事件,但是在主机应用程序关闭时都未调用。如果有可能,我不想依靠控件的使用者记住要调用特定的Dispose方法。 public partial class MyWpfControl : UserControl { SomeDisposableObject x; // where does this code go? void Somewhere() { if (x != null) { x.Dispose(); x = null; } } } 到目前为止,我发现的唯一解决方案是订阅Dispatcher的ShutdownStarted事件。这是合理的方法吗? this.Dispatcher.ShutdownStarted += Dispatcher_ShutdownStarted;
119 c#  .net  wpf  user-controls  dispose 


12
WPF ListView关闭选择
我有一个简单的WPF ListView和一个简单的问题: 是否可以关闭选择,所以当用户单击行时,该行未突出显示吗? 我希望第1行在单击时看起来像第0行。 可能相关:是否可以为悬停/选择的外观设置样式?例如。将蓝色渐变悬停外观(第3行)替换为自定义纯色。我发现了这个,这很不幸。 (在不使用ListView的情况下实现相同效果也是可以接受的。我只希望能够像ListView一样使用逻辑滚动和UI虚拟化) ListView的XAML是: <ListView Height="280" Name="listView"> <ListView.Resources> <!-- attempt to override selection color --> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightColorKey}" Color="Green" /> </ListView.Resources> <ListView.View> <GridView> <GridView.Columns> <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" /> <!-- more columns --> </GridView.Columns> </GridView> </ListView.View> </ListView>
119 wpf  listview 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.