WPF中是否有标准消息框,如WinForms' System.Windows.Forms.MessageBox.Show(),还是应该使用WinForms消息框?
我拥有的是具有IsReadOnly属性的对象.如果此属性为true,我想将IsEnabledButton(例如)上的属性设置为false.
我想相信我可以轻松地做到这一点,IsEnabled="{Binding Path=!IsReadOnly}"但不能与WPF一起使用.
我不得不经历所有的风格设置吗?对于像将一个bool设置为另一个bool的反向那样简单的事情,似乎太过冗长.
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsReadOnly}" Value="True">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsReadOnly}" Value="False">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
Run Code Online (Sandbox Code Playgroud) 我试图了解用于创建Metro风格应用程序的新Windows 8 Runtime .我知道你可以在XAML上使用它,它基于.NET,所以C#和VB.NET可以用来编写应用程序,但它似乎与HTML,CSS,DOM和JavaScript有关.
根据.NET UI程序员可以理解的术语,有人可以用几段解释它是什么吗?(我错过了理解它所必需的"关键".)
我们都知道WPF,Silverlight,Windows Forms等将至少在英特尔系统上继续在Windows 8(和Windows 10)下运行,所以请不要告诉我......
wpf windows-runtime windows-store-apps win-universal-app windows-10
我正在开发一个应用程序来发送一些反馈.
基本上我是想做一个TextBox评论,但我已经习惯了WinForms MultiLine=true.我已经设置MinLines为3,它已经到了那里,但最好是我喜欢它,如果用户能够在这个块中的任何地方输入 - 比如按回车并做点点数的事情.例如:
- Item 1 blah
- Item 2 blahlb lahbvl d
Run Code Online (Sandbox Code Playgroud)
但目前文本都停留在一行.
- Item 1 blah - Item 2 blahb blahb blah
Run Code Online (Sandbox Code Playgroud)
这些评论将有助于填写发送的电子邮件的正文.如果在将此字符串放入电子邮件正文字符串时无法轻松保持相同的格式设置(这样看起来就像在键入时一样发送它),这可能毫无意义.
我可以实现我所追求的目标,还是必须将其作为一行中的所有文本保留?
在Model-View-ViewModel体系结构WPF应用程序中实现ViewModel时,似乎有两个主要选择如何使其成为databindable.我已经看到了DependencyProperty用于View将要绑定的属性的实现,我已经看到了实现的ViewModel INotifyPropertyChanged.
我的问题是我应该何时优先选择其中一个?有任何性能差异吗?将ViewModel依赖项提供给WPF真的是个好主意吗?做出设计决定时还需要考虑什么?
我只想在左边流动文本,在右边有一个帮助框.
帮助框应该一直延伸到底部.
如果您取出下面的外部StackPanel,它的效果很好.
但由于布局的原因(我正在动态插入UserControl),我需要包装StackPanel.
如何让GroupBox扩展到StackPanel的底部,你可以看到我已经尝试过:
XAML:
<Window x:Class="TestDynamic033.Test3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Test3" Height="300" Width="600">
<StackPanel
VerticalAlignment="Stretch"
Height="Auto">
<DockPanel
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Height="Auto"
Margin="10">
<GroupBox
DockPanel.Dock="Right"
Header="Help"
Width="100"
Background="Beige"
VerticalAlignment="Stretch"
VerticalContentAlignment="Stretch"
Height="Auto">
<TextBlock Text="This is the help that is available on the news screen." TextWrapping="Wrap" />
</GroupBox>
<StackPanel DockPanel.Dock="Left" Margin="10" Width="Auto" HorizontalAlignment="Stretch">
<TextBlock Text="Here is the news that should wrap around." TextWrapping="Wrap"/>
</StackPanel>
</DockPanel>
</StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
谢谢Mark,使用DockPanel而不是StackPanel清理它.一般来说,我发现自己现在越来越多地使用DockPanel进行WPF布局,这里是固定的XAML:
<Window x:Class="TestDynamic033.Test3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Test3" Height="300" Width="600" MinWidth="500" …Run Code Online (Sandbox Code Playgroud) 以下是有什么区别的:
所有这些依赖项属性都在Selector类中定义.我经常混淆SelectedItem与SelectedValue,并SelectedValue用SelectedValuePath.
我想知道它们之间的区别,并且当我们使用它们,尤其是SelectedValue和SelectedValuePath.请用一些简单的例子解释它们的用法.
有时,在不可重现的情况下,我的WPF应用程序崩溃而没有任何消息.应用程序立即关闭.
实现全局Try/Catch块的最佳位置在哪里.至少我必须实现一个消息框:"抱歉给您带来不便......"
我有一个TextBlockWPF.我写了很多行,远远超过它的垂直高度.我预计一个垂直滚动条会在发生时自动出现,但事实并非如此.我试图在"属性"窗格中查找滚动条属性,但找不到.
如果我TextBlock的内容超出其高度,我怎样才能自动创建垂直滚动条?
澄清:我宁愿从设计师那里做,而不是直接写给XAML.
我正在考虑使用ListBox或ListView作为WPF应用程序.似乎要么支持数据绑定和项目模板.我的应用程序有一个简单的项目列表,我打算能够根据用户输入搜索/排序/过滤.数据绑定演示(http://msdn.microsoft.com/en-us/library/ms771319.aspx)使用带有CollectionViewSource的ListBox.
有没有人有哪些控制权可以使用以及何时使用?
wpf ×10
c# ×3
.net ×2
data-binding ×2
xaml ×2
.net-3.5 ×1
architecture ×1
autolayout ×1
autoresize ×1
dockpanel ×1
exception ×1
listbox ×1
listview ×1
messagebox ×1
multiline ×1
mvvm ×1
scrollbar ×1
selecteditem ×1
silverlight ×1
styles ×1
textblock ×1
textbox ×1
windows-10 ×1