Questions tagged «wpf»

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

14
ViewModel中的INotifyPropertyChanged与DependencyProperty
在Model-View-ViewModel体系结构WPF应用程序中实现ViewModel时,似乎有两个主要选择来使它可数据绑定。我已经看到DependencyProperty了将View绑定到的属性的实现,并且看到了ViewModel的实现INotifyPropertyChanged。 我的问题是,什么时候我应该优先选择另一个?有性能差异吗?将ViewModel依赖项提供给WPF真的是一个好主意吗?做出设计决策时,我还需要考虑什么?

5
SelectedItem,SelectedValue和SelectedValuePath之间的区别
在以下方面有什么区别: SelectedItem 选定值 SelectedValuePath 所有这些依赖项属性都在Selector类中定义。我经常混淆SelectedItem与SelectedValue,并SelectedValue用SelectedValuePath。 我想知道它们之间的区别,以及我们何时使用它们,尤其是SelectedValue和SelectedValuePath。请通过一些简单的例子说明它们的用法。

13
调用线程无法访问该对象,因为其他线程拥有它
我的代码如下 public CountryStandards() { InitializeComponent(); try { FillPageControls(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Country Standards", MessageBoxButton.OK, MessageBoxImage.Error); } } /// <summary> /// Fills the page controls. /// </summary> private void FillPageControls() { popUpProgressBar.IsOpen = true; lblProgress.Content = "Loading. Please wait..."; progress.IsIndeterminate = true; worker = new BackgroundWorker(); worker.DoWork += …

10
WPF TextBlock中的自动垂直滚动条?
我TextBlock在WPF中有一个。我在上面写了很多行,远远超过了它的垂直高度。我希望垂直滚动条会在发生这种情况时自动出现,但事实并非如此。我试图在“属性”窗格中查找滚动条属性,但找不到一个。 TextBlock一旦内容超过其高度,如何使垂直滚动条自动创建? 澄清:我宁愿由设计人员来做,而不是直接写给XAML。
335 c#  .net  wpf  scrollbar  textblock 

30
我如何获得一个TextBox只接受WPF中的数字输入?
我希望接受数字和小数点,但没有符号。 我看过使用Windows窗体的NumericUpDown控件的示例,以及Microsoft的NumericUpDown自定义控件的示例。但是到目前为止,似乎NumericUpDown(是否受WPF支持)将无法提供我想要的功能。我的应用程序的设计方式是,没有一个头脑正确的人会想弄乱箭头。在我的应用程序上下文中,它们没有任何实际意义。 因此,我正在寻找一种简单的方法来使标准WPF TextBox仅接受我想要的字符。这可能吗?实用吗?
334 c#  wpf  xaml  textbox  numericupdown 

17
在代码中设置WPF图像源
我正在尝试在代码中设置WPF图像的源。图像作为资源嵌入到项目中。通过查看示例,我得出了以下代码。由于某种原因,它不起作用-无法显示图像。 通过调试,我可以看到流包含图像数据。那怎么了 Assembly asm = Assembly.GetExecutingAssembly(); Stream iconStream = asm.GetManifestResourceStream("SomeImage.png"); PngBitmapDecoder iconDecoder = new PngBitmapDecoder(iconStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); ImageSource iconSource = iconDecoder.Frames[0]; _icon.Source = iconSource; 图标定义如下: <Image x:Name="_icon" Width="16" Height="16" />
325 c#  .net  wpf  image 

1
ListBox与ListView-如何选择数据绑定
我正在考虑为WPF应用程序使用ListBox或ListView。似乎支持数据绑定和项目模板。我的应用程序有一个简单的项目列表,我打算根据用户输入进行搜索/排序/过滤。数据绑定演示(http://msdn.microsoft.com/zh-cn/library/ms771319.aspx)使用具有CollectionViewSource的ListBox。 是否有人在何时使用哪个控件有优点/缺点?

4
如何在WPF中获得控件以填充可用空间?
Button如果不指定高度,某些WPF控件(如)似乎会很高兴地消耗其容器中的所有可用空间。 还有一些,例如我现在需要使用的(多行)TextBox,并且ListBox似乎更担心仅占用必要的空间以适合其内容,而不再担心。 如果您将这些人放在的单元格中UniformGrid,它们将扩展以适应可用空间。但是,UniformGrid实例并非适用于所有情况。如果您有一个网格,其中某些行设置为*高度,以将自身与其他*行之间的高度进行划分,该怎么办?如果您有一个,StackPanel并且有一个Label,一个List和一个Button,该怎么办?如何使列表占据标签和按钮未占用的所有空间? 我认为这确实是一个基本的布局要求,但是我无法弄清楚如何让它们填充可能的空间(将它们放入a DockPanel并将其设置为fill似乎也不起作用,因为在DockPanel只占用其子控件所需的空间)。 一个可调整大小的GUI将是相当可怕的,如果你有一起玩Height,Width,MinHeight,MinWidth等。 您可以将Height和Width属性绑定到您占用的网格单元吗?还是有其他方法可以做到这一点?


13
打开目录对话框
我希望用户选择一个目录,将在该目录中保存随后将生成的文件。我知道在WPF中我应该使用OpenFileDialogWin32中的from,但是不幸的是,该对话框要求选择文件-如果我只单击OK而不选择其中一个,它将保持打开状态。我可以通过让用户选择一个文件然后剥离路径以找出该文件属于哪个目录来“破解”该功能,但这充其量是不直观的。有人看过吗?
274 wpf  filesystems  dialog 



13
将枚举属性数据绑定到WPF中的ComboBox
以下面的代码为例: public enum ExampleEnum { FooBar, BarFoo } public class ExampleClass : INotifyPropertyChanged { private ExampleEnum example; public ExampleEnum ExampleProperty { get { return example; } { /* set and notify */; } } } 我想要将属性ExampleProperty数据绑定到ComboBox,以便它显示选项“ FooBar”和“ BarFoo”,并在TwoWay模式下工作。理想情况下,我希望我的ComboBox定义看起来像这样: <ComboBox ItemsSource="What goes here?" SelectedItem="{Binding Path=ExampleProperty}" /> 目前,我在我手动执行绑定的Window中安装了ComboBox.SelectionChanged和ExampleClass.PropertyChanged事件的处理程序。 有更好的或某种规范的方法吗?您通常会使用转换器吗,如何用正确的值填充ComboBox?我什至不想现在就开始使用i18n。 编辑 因此回答了一个问题:如何用正确的值填充ComboBox。 通过ObjectDataProvider从静态Enum.GetValues方法检索Enum值作为字符串列表: …
256 .net  wpf 

10
如何使用WPF将文本包装在标签中?
我有一个TextBox和一个标签。单击按钮后,我执行以下代码: label1.Content = textbox1.Text; 我的问题是,如何启用标签的文本环绕?一行上可能显示太多文本,如果是这种情况,我希望它自动换行为多行。
251 c#  .net  wpf  label  word-wrap 

30
如何绑定到MVVM中的PasswordBox
我遇到了绑定到P的问题asswordBox。似乎有安全隐患,但是我使用的是MVVM模式,因此我希望绕过这一点。我在这里找到了一些有趣的代码(有人使用过此代码还是类似的代码?) http://www.wpftutorial.net/PasswordBox.html 从技术上来说看起来不错,但是我不确定如何找回密码。 我基本上有LoginViewModelfor Username和的属性Password。Username很好,并且可以正常工作TextBox。 我按照上面的说明使用了上面的代码并输入了 <PasswordBox ff:PasswordHelper.Attach="True" ff:PasswordHelper.Password="{Binding Path=Password}" Width="130"/> 当我使用PasswordBoxas时TextBox,Binding Path=Password然后LoginViewModel更新了我的属性。 我的代码非常简单,基本上我有一个Commandfor Button。当我按下它时CanLogin被调用,如果返回true则调用Login。 您可以看到我Username在这里检查我的房产,效果很好。 在Login我一起发送到我的服务Username和Password,Username从包含数据我View却Password是Null|Empty private DelegateCommand loginCommand; public string Username { get; set; } public string Password { get; set; } public ICommand LoginCommand { get { if (loginCommand == null) { loginCommand = new DelegateCommand( Login, …
251 c#  wpf  mvvm  wpf-controls  passwords 

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.