相关疑难解决方法(0)

将DataGrid列标头绑定到DataContext

我知道之前已经问过这个问题,但是"以前的"答案似乎对我没什么影响......

我已经在我的应用程序中实现了多语言的功能,因此我必须将DataGrid列的标头绑定到DataContext.

我在DataContext中使用一个字典(在下面的例子中称为Text)来存储文本,并且绑定可以与文本块,按钮等一起使用.

<TextBlock Text="{Binding Text[Name], FallbackValue='Name'" />
Run Code Online (Sandbox Code Playgroud)

但是,我无法使用它来处理DataGrid列的Header属性.

我在某处读到,我需要为列/标题编写一个模板来实现这一点,但我也无法解决这个问题.

data-binding wpf datagrid mvvm

11
推荐指数
2
解决办法
2万
查看次数

如何在DataGrid列标题上设置DataContext

在我的Silverlight 3用户控件中,我显示了一个基本的DataGrid控件.我需要以编程方式生成列,如下所示:

Style headerStyle = (Style)Resources["ColumnHeaderStyle"];
DataGridTextColumn col = new DataGridTextColumn();
col.HeaderStyle = headerStyle;
dataGrid.Columns.Add(col);
Run Code Online (Sandbox Code Playgroud)

样式定义如下:

<Style x:Name="ColumnStyle" x:Key="ColumnHeaderStyle" 
       TargetType="prim:DataGridColumnHeader">
    <Setter Property="ContentTemplate">
        <Setter.Value>
            <DataTemplate>
                <StackPanel Loaded="StackPanel_Loaded">
                    <TextBlock Text="{Binding Name}" />
                    <TextBlock Text="{Binding Data}" />
                </StackPanel>
            </DataTemplate>
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

我想将标题的数据上下文设置为"标题"对象(具有"名称"和"数据"属性,这些属性在DataTemplate中引用).不幸的是,我无法在其他地方使用StackPanel_Loaded事件,因为当用户启动列拖放操作时也会调用事件处理程序.

设置DataGrid列标题的DataContext的正确方法是什么?

silverlight datagrid columnheader

7
推荐指数
2
解决办法
8772
查看次数

Wpf工具包.将DataGrid列标题绑定到DynamicResource

我正在尝试使用以下代码将DataColumn Header绑定到DynamicResource.

<Window.Resources>
    <sys:String x:Key="HeaderText">Header Text</sys:String>
</Window.Resources>
<Grid>
    <tk:DataGrid>
        <tk:DataGrid.Columns>
            <tk:DataGridTextColumn Header="{DynamicResource HeaderText}" Width="100"/>
        </tk:DataGrid.Columns>
    </tk:DataGrid>
</Grid>
Run Code Online (Sandbox Code Playgroud)

但由于一些奇怪的原因,列标题仍为空.然而,StaticResource效果很好.你能帮我弄清楚如何将Header属性绑定到某些DynamicResource.

wpf datagrid wpftoolkit dynamicresource

6
推荐指数
2
解决办法
2万
查看次数