我现在已经使用WPF了一段时间,虽然我发现它一般很好,但我发现它仍然缺少许多功能。我想用这个问题来编译一个最想要的WPF功能列表,希望能提供一些解决方法。
请每个回复只发贴一个功能,以便人们可以投票。也许MS在听?
答案 0 :(得分:5)
WPF似乎缺少 NotifyIcon ,我真的很想在我的WinForms应用程序中使用它。 Third-party alternatives exist使用API调用来设置图标,否则如果你想要NotifyIcon,则必须包含对Windows.Forms的依赖。
答案 1 :(得分:2)
默认情况下,工具栏中的图标不会显示为灰色。在我看来,这是一个巨大的疏忽 - 世界上任何地方的工具栏都不会使其禁用的项目变灰?
要解决此问题,您可以将此样式添加到窗口资源中:
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type UIElement}, AncestorLevel=1}, Path=IsEnabled}" Value="False">
<Setter Property="Opacity" Value="0.3"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
答案 2 :(得分:2)
集成DeepZoom控件。
答案 3 :(得分:2)
自从我使用Visual Basic 3开始编程Windows UI之后,拖放工作没有取得进展。拥有一个xaml友好且对mvvm友好的拖放框架会很不错。类似于ICommand的东西,View可以调用ViewModel上的绑定来处理拖放。
答案 4 :(得分:1)
我真的很想念PropertyGrid控件。
答案 5 :(得分:1)
Label控件需要将其Target属性设置为明确,以便快捷方式起作用。
根据我的经验,99%的时间控件标签出现在按下快捷键时应该聚焦的控件之前。如果Label默认采用这种方式。当然,这可以通过设置Target属性来覆盖,但如果没有设置,则应该关注Tab键顺序中的下一个控件。
答案 6 :(得分:1)
去年讨论但推迟的XNA内容集成: http://channel9.msdn.com/shows/Continuum/WPF4Beta1/
答案 7 :(得分:0)
没有下拉菜单按钮。我经常发现自己需要在工具栏等中使用这个控件。任何人都可以推荐的任何好的开源下拉按钮?能够下拉任意控件的奖励点,而不仅仅是菜单。
答案 8 :(得分:0)
网格中的行/列之间没有间隙。我经常在自动调整大小的行/列中布置一个Label和TextBox / ComboBox / Checkbox控件的网格。默认情况下,这些控件都显示为彼此压扁。能够在网格中指定行和列之间的垂直和水平间隙会很好。
您可以通过为网格中的每种控件类型添加样式来解决此问题:
<Grid.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Margin" Value="0,0,0,4" />
</Style>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Margin" Value="0,0,0,4" />
</Style>
</Grid.Resources>
但是,这样做的缺点是将TexBox和ComboBox的高度更改为默认值,并导致在相关标签中排列文本时出现问题。
答案 9 :(得分:0)
GridSplitter的行为毫无用处。
如果将GridSplitter拖放到Grid中,除非在其上设置一组属性,否则它的行为完全没用。
默认情况下,两列之间的垂直GridSplitter会在向右拖动时使两个列更小,向左拖动时两个列都会变大。 GUI历史记录中的曾经想要这种行为吗?
您可能希望网格分割器执行以下两项操作之一:调整行大小或调整列大小。这是默认行为正确的50%的可能性。但默认情况下,它既没有。
答案 10 :(得分:0)
这很容易:别名(清晰)字体。
(尽管快速浏览一下新闻,发现它主要是在.net 4的最新测试版中修复)