【问题标题】:DataTemplate Binding to multiple object propertiesDataTemplate 绑定到多个对象属性
【发布时间】:2017-07-12 20:20:03
【问题描述】:

我正在使用按钮样式和数据模板,但在显示文本时遇到问题(我的 Table 对象的 Name 和 Number 属性)。

这是 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 对象。

我尝试替换绑定路径宽度绑定路径=DataContext.Name,添加RelativeSource=Self,但没有任何帮助。

另外,我尝试使用 ItemsControl 创建按钮,但遇到了同样的问题。

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:
    b.Content = myTableItem;
    

    这是ContentTemplate。这是Content 的模板。

    【讨论】:

      猜你喜欢
      • 2018-09-30
      • 2013-03-23
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      • 1970-01-01
      相关资源
      最近更新 更多