2

我有以下内容DataTemplate

<DataTemplate x:Key="ButtonTemplate">
    <Button Click="Cell_Click">
        <Button.Template>
            <ControlTemplate TargetType="{x:Type Button}">
                <TextBlock x:Name="TBlock" />
            </ControlTemplate>
        </Button.Template>
    </Button>
</DataTemplate>

我将其DataTemplate用作,但是当我添加新列时GridViewColumn.CellTemplate,我必须动态绑定 的Text属性:TextBlock

GridViewColumn column = new GridViewColumn();
column.CellTemplate = Resources["ButtonTemplate"] as DataTemplate;
// How to get the TBlock (TextBlock) of CellTemplate and bind its property here?
MyGridView.Columns.Add(column);

我该怎么办?谢谢。

4

2 回答 2

0

您可以为 TextBlock 的 Loaded-Event 附加一个 EventHandler 并在那里创建绑定(基于 TextBlock 的 DataContext,如果有足够的信息)。

于 2012-09-30T11:52:22.410 回答
0

忘记修改模板,您最好在代码中从头开始创建它(或者您可以使用XamlReader.Parse动态插入绑定代码的 XAML 字符串)。

于 2012-09-30T13:13:26.253 回答