首页 > 解决方案 > Wpf从样式中绑定TextBlock的文本属性

问题描述

我有一个包含GridCell样式模板的数据网格。我为此编写了这个样式模板:

<Style x:Key="SfDataGridGridCell" TargetType="syncfusion:GridCell">
                <Setter Property="Background" Value="Transparent"/>
                <Setter Property="HorizontalAlignment" Value="Center"/>
                <Setter Property="FontFamily" Value="IRANSansMobile(FaNum) Light"/>
                <Setter Property="FontSize" Value="11.5"/>
                <Setter Property="BorderBrush" Value="Transparent"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="syncfusion:GridCell">
                            <Border BorderBrush="Transparent">
                                <Grid>
                                    <TextBlock TextWrapping="Wrap" Text="{Binding ???}"/>
                                </Grid>
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>

             </Style>

我想将此样式应用于所有DataGrid的单元格。如何绑定从 xaml 或代码中标记的值?

标签: c#wpfbinding

解决方案


恐怕您不能只替换绑定的路径,而是重用模板的其余部分。XAML 不支持这样做。

相反,您可以做的是使用XamlReader.Parse方法以编程方式创建多个样式,每列一个样式。然后,您可以简单地替换传递给该方法的字符串中的绑定路径。


推荐阅读