Tag: wpf

XAML绑定不依赖于依赖属性?

我正在尝试(并且失败)在xaml中对依赖项属性进行数据绑定。 当我使用代码后,它工作正常,但不是在xaml中。 用户控件只是绑定到依赖项属性的TextBlock : 而依赖属性是一个简单的字符串: public static readonly DependencyProperty TestProperty = DependencyProperty.Register(“Test”, typeof(string), typeof(MyControl), new PropertyMetadata(“DEFAULT”)); public string Test { get { return (string)GetValue(TestProperty); } set { SetValue(TestProperty, value); } } 我有一个常规属性,在主窗口中通常实现了INotifyPropertyChanged 。 private string _myText = “default”; public string MyText { get { return _myText; } set { _myText = value; NotifyPropertyChanged(); } } […]

如何确定某个日期的周数?

我正在尝试使用wpf制作日历。 通过使用itemsPanel和更多,我有一个网格有7列(星期六 – 星期六)和6行(星期#月)。 如果我可以通过获取工作日和周数(月份)找到每月第一个的起始位置,我如何找到周数(每月0-5)? 我也不能以某种方式从那里填写日历? 我迷路了,我不知道还有什么可以尝试的。 public partial class SchedulePage : Page { MainWindow _parentForm; public int dayofweek; public SchedulePage(MainWindow parentForm) { InitializeComponent(); _parentForm = parentForm; // DateTime date = new DateTime(year, month, day); _parentForm.bindings = new BindingCamper(); _parentForm.bindings.schedule.Add(new Schedule { WeekNo = (int) getWeekNumber(), WeekDay = dayofweek }); DataContext = _parentForm.bindings; // lblTest.Content […]

如何将ImageSource转换为Byte数组?

我使用LeadTools进行扫描。 我想将扫描图像转换为字节。 void twainSession_AcquirePage(object sender, TwainAcquirePageEventArgs e) { ScanImage = e.Image.Clone(); ImageSource source = RasterImageConverter.ConvertToSource(ScanImage, ConvertToSourceOptions.None); } 如何将ImageSource转换为Byte数组?

Web浏览器控件:如何捕获文档事件?

我正在使用WPF的WebBrowser控件来加载一个简单的网页。 在这个页面上,我有一个锚或一个按钮。 我想在我的应用程序代码中捕获该按钮的click事件(即在C#中)。 WebBrowser控件是否有一种方法可以捕获加载页面元素上的单击事件? 此外,是否可以在页面和WebBrowser之间传递事件触发的数据? 以上所有应该是可能的,我是对的吗? 编辑: 可能的解决方案: 我发现以下链接可能是一个解决方案。 我还没有测试过,但值得拍摄。 将根据我的测试结果更新此问题。 http://support.microsoft.com/kb/312777 链接取自: 来源

如何遍历WPF工具包Datagrid的行

我有下一个代码,我定义了一个名为dgQuery的WPF工具包数据网格控件; 我用数据集的信息填充了这个,然后我在dgQuery中插入了一个新的复选框列来检查/取消选中某些行,我展示了部分C#代码: dgQuery.DataContext = dS.Tables[0]; DataGridTemplateColumn cbCol = new DataGridTemplateColumn(); cbCol.Header = “Opc”; FrameworkElementFactory factory = new FrameworkElementFactory(typeof(CheckBox)); Binding bind = new Binding(“IsSelected”); bind.Mode = BindingMode.TwoWay; factory.SetValue(CheckBox.IsCheckedProperty, bind); DataTemplate cellTemplate = new DataTemplate(); cellTemplate.VisualTree = factory; cbCol.CellTemplate = cellTemplate; dgQuery.Columns.Insert(0, cbCol); 在检查/取消选中dgQuery行的新复选框列后,我将单击一个按钮,仅将我检查的行保存到数据库中。 问题是,我如何开发循环来读取dgQuery的所有行以及让我知道哪些行选中/取消选中复选框的条件? 请帮我举个例子。 谢谢!!

WPF:名称空间中不存在该名称

我正在使用VS2013构建一个C#/ WPF应用程序,我有以下类定义(在正在运行的应用程序的同一个程序集中): namespace MyNamespace { public class MyKey { public MyKey() { } public string name = “”; } } 在MainWindow.xaml我有: … VS不断报告 名称“MyKey”在名称空间“clr-namespace:MyNamespace”中不存在 有任何想法吗? PS我尝试了以下解决方案(来自stackoverflow中已经发布的问题),但没有一个有效: 将类移动到不同的命名空间,然后在xaml引用中使用新的命名空间 重新启动VS并清理/重建解决方案 清理解决方案然后重命名其文件夹,然后再次构建解决方案 将引用更改为: 的xmlns:本地= “CLR-名称空间:myNameSpace对象;assembly=” 编辑:附加信息:目标体系结构:X64,目标框架:.Net 4.5

WPF UI多任务处理

我正在以编程方式创建一些UI,这涉及一些繁重的处理。 基本上我想要的是在我的UI被构建/添加到窗口时运行加载器动画。 添加的UI是一些网格,一些图像被加载到它们中。 到目前为止,我已经尝试过BackgroundWorker,但由于我需要使用UI线程来添加我正在构建的UI,因此在添加的UI完成之前,加载器将无法启动/动画。 我也尝试过一些没有任何结果的异步方法。 我的最后一次尝试是这样的,但它仍然需要访问UI线程,这将最终冻结UI动画,直到工作完成 private async void begin() { await this.LongRunOpAsync(); } public Task LongRunOpAsync() { return Task.Run(() => { InitGrid(); stopLoadingScreen(); }); } 我可能会遗漏一些东西,但我不知道是什么,我也没有想到这样做。 任何帮助,将不胜感激。 编辑:有繁重工作的方法 private void makeIgrid() { Grid hostgrid = new Grid(); hostgrid.Name = “imagesHostGrid”; hostgrid.Width = 700; hostgrid.VerticalAlignment = VerticalAlignment.Top; hostgrid.HorizontalAlignment = HorizontalAlignment.Center; hostgrid.SetValue(Canvas.ZIndexProperty, 0); this.RegisterName(hostgrid.Name, hostgrid); Grid […]

如何绑定到DynamicResource以便可以使用Converter或StringFormat等? (修订版4)

注意:这是对早期设计的修订,其具有不可用于样式的限制,相当于否定其有效性。 但是, 这个新版本现在可以使用样式 ,基本上可以让你在任何可以使用绑定或动态资源的地方使用它,并获得预期的结果,使它非常有用。 从技术上讲,这不是一个问题。 这是一篇文章,展示了我发现使用DynamicResource作为源代码轻松使用转换器的方法,但为了遵循s / o的最佳实践,我将其作为问题/答案对发布。 因此,请查看下面的答案我找到了如何执行此操作的方法。 希望能帮助到你!

将Xml数据双向绑定到WPF TreeView

我正在尝试使用WPF为表示层重写我的ForestPad应用程序。 在WinForms中,我以编程方式填充每个节点,但如果可能的话,我想利用WPF的数据绑定function。 一般来说,将WPF TreeView双向数据绑定到Xml文档的最佳方法是什么? 一般的解决方案很好,但作为参考,我试图绑定的Xml文档的结构如下所示:

在运行时动态更新TabControl内容

所以这就是问题所在。 我有一个窗口分为三个面板。 中间包含绘图表面,左侧包含选项卡控件。 选项卡控件的选项卡每个都包含一个按钮列表,这些按钮必须在右侧面板中打开新菜单。 我无法弄清楚如何在代码中执行此操作,因此我使用C#在运行时单独创建每个按钮。 似乎必须有一个更好的方法来实现它。 我现在调用下面的按钮单击事件function,在运行时名为“tabctrl”右侧面板的TabControl中绘制不同的菜单。 它需要一个字符串参数来指定要绘制的菜单集,尽管此时我只编写了一个菜单的代码。 下面是函数和xml的代码。 有没有更好的方法来解决这个问题? XML: C#: private void menuOpen(string menuSelected) { //Logic statement for what menu is being opened switch (menuSelected) { case “BackGround”: { //Remove Current Tabs //Initialize Tab Item, set title, and add tab item to tab control TabItem BackGround = new TabItem(); BackGround.Header = “BackGround”; tabctrl.Items.Insert(1, […]