假设我有这样的界面: public interface ISomeInterface { … } 我也有几个类实现这个接口; public class SomeClass : ISomeInterface { … } 现在我有一个WPF ListBox列出ISomeInterface的项目,使用自定义的DataTemplate。 数据绑定引擎显然不会(我已经能够找出)允许我绑定到接口属性 – 它看到的对象是一个SomeClass对象,数据只显示如果SomeClass应该碰巧有约束属性可用一个非界面属性。 我怎么能告诉DataTemplate行事,如果每个对象是一个ISomeInterface,而不是一个SomeClass等? 谢谢!
我创build一个全局热键,通过PInvoking RegisterHotKey()显示一个窗口。 但是为了做到这一点,我需要那个窗口的HWND ,它在窗口加载之前不存在,这意味着第一次显示。 但我不想在设置热键之前显示窗口。 有没有办法为该窗口创build一个用户不可见的HWND ?
我有一个WPF的奇怪问题,我在运行时从磁盘加载图像,并将它们添加到一个StackView容器。 但是,图像不显示。 经过一些debugging后,我发现了这个窍门,但是它确实没有任何意义。 我已经做了一个小的演示程序来识别问题: 创build一个新的WPF项目,并粘贴代码如下: XAML: <Window x:Class="wpfBug.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300" Loaded="Window_Loaded"> <StackPanel Name="sp"> </StackPanel> </Window> xaml.cs,粘贴在默认使用下面: namespace wpfBug { /// <summary> /// Interaction logic for Window1.xaml /// </summary> public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { Image i = new Image(); […]
我如何允许从WPF中的MessageBox中select和复制文本?
在重构一些代码的过程中,我遇到了几个这样的构build错误: 库项目文件不能指定ApplicationDefinition元素。 该项目文件包含无效的属性值。 这些错误如何解决?
在TextBox中显示数据时,我想使用数据绑定。 我基本上是这样做的: public void ShowRandomObject(IRandomObject randomObject) { Binding binding = new Binding {Source = randomObject, Path = new PropertyPath("Name")}; txtName.SetBinding(TextBox.TextProperty, binding); } 我似乎无法find解除绑定的方法。 我将用很多不同的对象调用这个方法,但是TextBox将保持不变。 有没有办法删除以前的绑定,或者当我设置新的绑定自动完成?
我想格式化我的string绑定作为Amount is X其中X是绑定到标签的属性。 我见过很多例子,但以下不起作用: <Label Content="{Binding Path=MaxLevelofInvestment, StringFormat='Amount is {0}'}" /> 我也试过这些组合: StringFormat=Amount is {0} StringFormat='Amount is {}{0}' StringFormat='Amount is \{0\}' 我甚至尝试将绑定属性的数据types更改为int , string和double 。 似乎没有任何工作。 这是一个非常常见的用例,但似乎没有被支持。
我认为这可能是一个愚蠢的问题,但我无法在互联网上find它。 我刚开始使用WPF表单而不是WF表单。 在WFforms我可以做: ComboBox.SelectedValue.toString(); 这将工作正常。 我如何做到这一点在WPF中似乎没有select。 谢谢
我不喜欢使用XAML。 我更喜欢用C#编写所有代码,但是我认为我做错了。 在哪种情况下最好使用XAML,什么时候使用C#? 你有什么经验?
我打算从这里的另一个问题来debugging我的HTTP请求有什么问题 。 所以我读了一下关于小提琴手,想用它来debugging我的问题。 但我似乎无法从我的WPF应用程序通过Fiddlerstream量。 我相信我需要configuration一个代理。 我正在使用一个WebClient作为一个基本的例子,但是我想我以后需要一个WebRequest。 但现在,用一个简单的WebClient,我怎么能通过小提琴手(我相信我必须设置代理本地主机:8888)? 更新: 我不知道我是否做了正确的事情,但我尝试了 var wc = new WebClient(); WebProxy proxy = new WebProxy(); proxy.Address = new Uri("http://localhost:8888"); wc.Proxy = proxy; 但失败 – 我没有看到任何stream量在提琴手 我试过了 … var wc = new WebClient(); WebProxy proxy = new WebProxy("127.0.0.1", 8888); wc.Proxy = proxy; 依然没有