我希望用户select一个目录,然后我将生成一个文件将被保存。 我知道,在WPF中,我应该使用Win32的OpenFileDialog ,但不幸的是,对话框需要select文件 – 如果我只是单击“确定”而没有select文件,它将保持打开状态。 我可以通过让用户select一个文件来“破解”这个function,然后去掉这个path来找出它属于哪个目录,但是这样做不是直觉。 有没有人见过这样做?
WPF中的Visibility.Collapsed和Visibility.Hidden之间有什么区别?
有些WPF控件(如Button )似乎很高兴地使用它的容器中的所有可用空间,如果你没有指定它的高度。 还有一些,就像我现在需要使用的那些,(多行) TextBox和ListBox似乎更担心只是为了适应其内容而需要的空间,而没有更多。 如果你把这些家伙放在UniformGrid一个单元格中,它们将会展开以适应可用的空间。 但是, UniformGrid实例并不适合所有情况。 如果你有一个网格,一些行设置为*高度来划分本身和其他*行之间的高度? 如果你有一个StackPanel并且你有一个Label ,一个List和一个Button ,那你怎么能得到这个列表来占用所有没有被标签和button所占用的空间呢? 我会认为这将是一个基本的布局要求,但我不知道如何让他们填补他们可能的空间(把他们放在一个DockPanel并设置它填充也行不通,看来,因为DockPanel只占用其子控制所需的空间。 如果你必须玩Height , Width , MinHeight , MinWidth等等,一个可resize的GUI将是非常可怕的。 你可以绑定你的Height和Width属性到你占据的网格单元? 还是有另一种方法来做到这一点?
我在WPF中有一个TextBlock 。 我写了很多行,远远超过了它的垂直高度。 我期望一个垂直滚动条自动出现,但事实并非如此。 我试图在“属性”窗格中查找滚动条属性,但找不到一个属性。 一旦其内容超过其高度,我怎样才能使自动为我的TextBlock创build垂直滚动条? 澄清:我宁愿从devise师那里做,而不是直接写给XAML。
如果我在Visual Studio 2010 SP1中创build一个新项目并select“WPF Application”并尝试构build生成的应用程序,则会出现错误 名称InitializeComponent在当前上下文中不存在。 今天上午,当我试图build立我目前的项目时,我收到了类似的错误。 昨天,我编译和运行没有问题。 我创build了一个新的项目,并且每当我编译这个项目的时候都会出错。 我刚刚把这个项目发给了一个同事,他刚刚编译没有任何错误。 哪里不对?
我正在开发一个应用程序发送一些反馈。 基本上我试图做一个TextBox的评论,但我已经习惯了WinForms MultiLine=true 。 我已经把MinLines设置为3,这是到达那里,但最好是我想,如果用户能够键入在这个块的任何地方 – 就像按回车键和点做点事情。 例如: – Item 1 blah – Item 2 blahlb lahbvl d 但目前,文字都保持在一条线上。 – Item 1 blah – Item 2 blahb blahb blah 这些评论将帮助填写发送的电子邮件的正文。 如果我把这个string放进电子邮件主体string中时不能轻易保持相同的格式(这样看起来就像在键入时发送一样)。 我可以达到我所追求的目标吗?还是必须将所有文本放在一行上?
我试图在代码中设置WPF图像的源代码。 该图像作为资源embedded到项目中。 通过查看示例,我已经提出了下面的代码。 由于某种原因,它不起作用 – 图像不显示。 通过debugging,我可以看到该stream包含图像数据。 那么怎么了? 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" />
是否有一个标准的WPF消息框,如WinForms的System.Windows.MessageBox.Show() ,或者我应该使用WinForms消息框?
我正在考虑为WPF应用程序的ListBox或ListView。 看来要么支持数据绑定和项目模板。 我的应用程序有一个简单的项目列表,我打算能够根据用户input进行search/sorting/筛选。 数据绑定演示( http://msdn.microsoft.com/zh-cn/library/ms771319.aspx )使用带有CollectionViewSource的ListBox。 有没有人有优点/缺点控制使用什么时候?
我正在尝试创build一个处理popup窗体的策略,以供我的应用程序的任何部分使用。 我的理解到目前为止,我将需要在我的主窗口的根单个UserControl 。 这将被绑定到它自己的ViewModel,它将处理在应用程序内发送的消息。 我正在使用MVVM Light,对于Messenger类我还是比较新的。 想象一下Master / Details场景,一个对象包含在ListBox 。 select这些项目中的一个,然后单击“编辑”button将显示一个覆盖整个屏幕的UserControl 。 用户可以编辑所选项目,然后单击确定提交更改。 我想打开的UserControl是“通用”的方式,我可以抛出任何(可能是一个ViewModel)…它通过DataTemplate呈现ViewModel并处理所有对象的变化。 点击确定将callback到发送类,并像以前一样坚持更改。 有些情况下,这将是有用的是… 显示不需要用户input的错误消息(除了确定closures它) 显示数据项目的编辑表单 确认对话框(很像标准的MessageBox) 任何人都可以提供任何代码样本,我怎么可能实现这个?