DataTemplate绑定到多个对象属性

时间:2017-07-12 20:20:04

标签: c# wpf xaml

我使用按钮样式,数据模板,并且显示文本(我的表对象的名称和数字属性)有问题。

这是xaml:

<Style x:Key="btnTable" TargetType="{x:Type Button}" >
        <Setter Property="Background" Value="Transparent" />
        <Setter Property="ContentTemplate">
            <Setter.Value>
                <DataTemplate DataType="{x:Type my:Tables}">
                    <Grid>
                        <Image VerticalAlignment="Center" Source="/Images/Ico/table-40x40.png" />
                        <TextBlock Text="{Binding Path=Naziv}" />
                        <Ellipse Canvas.Top="30" Canvas.Left="30" Fill="#FF6A4E8C" />
                        <TextBlock Text="{Binding Number}" />
                    </Grid>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>

然后,在.cs中,我创建了这样的按钮:

    Button b = new Button();
    Style myStyle = (Style)Resources["btnTable"];
    b.Style = myStyle;
    b.DataContext = myTableItem;

如果我测试按钮单击事件,它在DataContext属性中有有效的Table对象。

我试过替换Binding Path width Binding Path = DataContext.Name,添加RelativeSource = Self,但没有任何帮助。

此外,我尝试使用ItemsControl创建按钮,但问题相同。

1 个答案:

答案 0 :(得分:0)

b.Content = myTableItem;

它是ContentTemplate。它是Content的模板。