Tag: wpf

为后面的代码中的xaml元素设置多绑定

我有以下工作XAML代码,它基本上绑定了几个属性来计算我的用户控件的最终位置: … 由于各种原因(但特别是为了避免相关来源,我现在正试图在代码中做同样的事情而没有成功。 这是我目前的代码: public CurvePointControl(CurveEditor CV) { InitializeComponent(); MultiBinding multiBinding = new MultiBinding(); multiBinding.Converter = m_VToYConverter; multiBinding.Bindings.Add(new Binding(“V”)); multiBinding.Bindings.Add(new Binding(CV.MinVProperty)); // doesn’t work multiBinding.Bindings.Add(new Binding(CV.MaxVProperty)); // doesn’t work multiBinding.Bindings.Add(new Binding(CV.ActualHeight)); // doesn’t work multiBinding.NotifyOnSourceUpdated= true; this.SetBinding(TranslateTransform.YProperty, multiBinding); //Doesn’t work too: //BindingOperations.SetBinding(XTranslateTransform, TranslateTransform.YProperty, multiBinding); } 我仍然无法相信将XAML转换为c#代码是如此困难。 转换器被调用但只有一次且没有有效的属性值。 什么是错的? 我怎么能调试这样的问题?

转换器应该抛出任何exception吗?

今天我遇到了一个错误,应用程序开始抛出多个exception(多个消息框)。 该应用程序使用DispatcherUnhandledException。 在调查时我发现,如果转换器的参数为NULL,那么用于格式化dataGrid中日期和时间的转换器会抛出FormatException。 在任何情况下都建议从转换器中抛出exception吗?

重新加载RTF后未检测到下划线

我目前正在尝试使用基本格式的RichTextBox为我的新测试笔记软件Lilly Notes工作 。 Brian Lagunas关于这个主题的文章让我朝着正确的方向前进,但是我遇到了一些问题。 如果单击带下划线的文本,则会按下“下划线”按钮,因此正在识别状态。 但是,如果我将其序列化为RTF然后将其反序列化为RichTextBox,则不会检测到它。 由于Lilly Notes中的代码在这里展示并不容易,我创建了一个SSCCE来演示这个问题。 首先,MainWindow.xaml: 这就是它的样子: 在代码隐藏中,我有代码在选择更改时检测格式的状态,并相应地更新下划线按钮的状态。 这与Brian Lagunas的方法没有什么不同。 private void RichTextBox_SelectionChanged(object sender, RoutedEventArgs e) { if (this.RichText.Selection != null) { object currentValue = this.RichText.Selection.GetPropertyValue(Inline.TextDecorationsProperty); this.UnderlineButton.IsChecked = (currentValue == DependencyProperty.UnsetValue) ? false : currentValue != null && currentValue.Equals(TextDecorations.Underline); } } 然后我有一个方法(和另一个辅助方法),它将RTF保存到字符串,然后将其应用于RichTextBox。 我只是为了保持简单而这样做 – 在Lilly Notes中,我将该字符串保存到数据库中,然后在再次运行应用程序时将其加载回来。 public Stream GenerateStreamFromString(string s) { […]

数据绑定WPF ComboBox与’新…’项目

大家好 我有一个combobox,它被数据绑定到一个元素列表。 但除了元素列表,我想要另一个项目。 此项应显示“新建…”文字 这个想法是,如果他们选择一个普通元素,它会执行一些涉及该元素的动作。 如果他们选择“新建”元素,则会将他们带到可以创建新项目的屏幕。 问题是,当你对某些东西进行数据处理时,你没有选择向它添加另一个项目,并且不存在将虚拟项目添加到元素列表中的问题…… 这是一个基于具有’DefaultElement’属性的ComboBox创建新控件的机会吗? (包含所有相关的模板和命令绑定等)

WPF – 如何在没有任何Alpha通道的情况下保存PNG?

我有一个BitmapSource 。 我把它保存到这样的png: PngBitmapEncoder enc = new PngBitmapEncoder(); enc.Frames.Add(myBitmapSource); enc.Save(fs); 如何在没有任何alpha通道的情况下保存它?

是否可以在浏览器上运行WPF应用程序?

我是WPF的新手。 我想知道可以在浏览器上运行wpf应用程序,还是必须创建不同的WPF浏览器应用程序?

获取WPF WebBrowser HTML

我正在使用Wpf WebBrowser访问某个页面。 我需要得到它的HTML内容 – 我不能使用Webclient或WebReques等因为我需要在那些页面上执行JS。 我也尝试过Awesomium和Wf WebBrowser(都错了)。 dynamic doc=browser.Document; var text=doc.InnerHtml//or something like this 上面的代码对我不起作用,它显示无引用。 谁能告诉我怎么去取它? 我已经搜索了好几个星期,但没有发现任何真正有用的东西:/。 请回答一下你能想象到的最大笨蛋:D。 有时我会发现人们发给我一段代码而我不知道如何使用它…我的意思是请让你的post像结束一样 string HTML=some_stuff; 或者,如果你知道一些没有错误的替代浏览器,我可以访问HTML或者什么东西,让我在加载的Html上执行JS,像cookies一样影响和HTML源代码的变化,这也是一个非常好的答案。 我会感激任何帮助。

以编程方式在Button内添加图像

在WPF中: 我怎样才能在C#中模仿这个? 我在Button类中找不到添加子项的任何方法。

从C ++库调用方法时WPF中的StackOverFlowException

我在WPF中使用C ++库。 它是磁条读取器/写入器的SDK。 当我在WPF中调用其中一个方法时,我会在10秒后收到StackOverFlowException。 从按钮点击事件调用的方法。 [DllImport(“MSR_API.dll”)] static extern bool MSR_InitComm(string portname, UInt32 baud); 此方法连接到磁条读取器设备。 首先,我在Windows Forms应用程序上测试了这个方法,一切都很棒。 但是当我开始用这个库编写WPF应用程序时,我每次都会收到StackOverFlowException。 这个“function”的原因是什么?

带有可选项的透明WPF ListBox

任何人都可以建议我如何实现一个WPF ListBox(有效地)具有透明/命中测试不可见的背景,但其项目仍然是命中测试可见的? 换句话说,我希望能够通过ListBox的背景点击它下面的控件,但仍然可以选择ListBox的项目。 我有ListBox使用自定义布局面板(它是一个ListBox,因为项目需要是可选择的)。 但是,我需要将此面板叠加在其他控件的顶部,以允许它们仍然正常使用。 我尝试过Background=”Transparent”和IsHitTestVisible=”False”各种组合,但我怀疑我可能会走错路…… 希望这是有道理的 – 我是WPF的新手,所以任何指导都会非常感激! 谢谢。