WPF DataGridTextColumn头绑定

编程入门 行业动态 更新时间:2024-10-23 20:24:05
本文介绍了WPF DataGridTextColumn头绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个code中,绑定不起作用。

I have a code in which Binding doesn't work

<DataGridTextColumn Header="{Binding LocalizedText.Task_Toolbar_AddButton}" />

有关按钮:

<Button x:Name="addTaskButton" Click="addTaskButton_Click"> <TextBlock Text="{Binding LocalizedText.Task_Toolbar_AddButton, Mode=OneWay}" /> </Button>

它工作正常,但对于DataGrid标题根本不工作。

it works fine, but for datagrid header doesn't work at all.

推荐答案

查找约什 - 史密斯的约DataContext的间谍,其中DataContextSpy类使用Hillberg的可冻结伎俩从一个对象,它是不是在一个逻辑树获得继承方面的博客。 DataContextSpy是很简单的,所以应该在许多情况下被重用。

Look up Josh Smith's blogs about DataContext Spy, where DataContextSpy class uses Hillberg’s Freezable trick to gain access to an inheritance context from an object that is not in a logical tree. DataContextSpy is very simple, so it should be reusable in many scenarios.

下面是如何使用它的头文件(我用这一切的时候,不仅DataGrid.Headers):

Here's how you can use it on headers (I use it all the time, not only on DataGrid.Headers):

<DataGrid... <DataGrid.Resources> <myNamespaces:DataContextSpy x:Key="dcSpy" DataContext="{LocalizedText}"/> ....... <DataGridTemplateColumn Header="{Binding Source={StaticResource dcSpy}, Path=DataContext.Task_Toolbar_AddButton}">

编辑:我似乎无法找到它在他的博客的任何地方,也许他归档,所以在这里,我只是将它加入你。贴吧,引用它在XAML正如我上面显示,然后用它的DataContext拉出你想要的数据绑定:

I can't seem to find it anywhere on his blog, maybe he archived it, so here, I'll just add it for you. Paste it, reference it in XAML as I showed above, then use it's DataContext to pull out what the data you want to bind:

public class DataContextSpy : Freezable { public DataContextSpy () { // This binding allows the spy to inherit a DataContext. BindingOperations.SetBinding (this, DataContextProperty, new Binding ()); } public object DataContext { get { return GetValue (DataContextProperty); } set { SetValue (DataContextProperty, value); } } // Borrow the DataContext dependency property from FrameworkElement. public static readonly DependencyProperty DataContextProperty = FrameworkElement .DataContextProperty.AddOwner (typeof (DataContextSpy)); protected override Freezable CreateInstanceCore () { // We are required to override this abstract method. throw new NotImplementedException (); } }

更多推荐

WPF DataGridTextColumn头绑定

本文发布于:2023-11-03 12:47:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1555171.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:绑定   WPF   DataGridTextColumn

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!