DataTemplate没有显示?

时间:2012-01-26 19:59:57

标签: c# wpf xaml datatemplate stackpanel

我在资源中有以下xaml代码:

<DataTemplate DataType="{x:Type s:Substance}">
    <StackPanel Orientation="Horizontal">
        <TextBlock Text="{Binding Name, Mode=TwoWay}" MinWidth="50" MinHeight="20" Background="Blue"/>
        <TextBox Text="{Binding Count,  Converter={StaticResource stringToIntConverter}, Mode=TwoWay}" MinWidth="50" MinHeight="20" Background="Yellow"/>
    </StackPanel>
</DataTemplate>

Substance来自ContentControl

public partial class Substance : ContentControl
{
    string name; public int count; SymbolTable symTable = null;
    public Substance(string _name, int _count, SymbolTable _symTable)
    {
        symTable = _symTable; Name = _name; Count = _count; 
    }
}

NameCount是在另一个部分类定义中定义的DP。

当我在StackPanelListBox中添加一种物质时,无法显示任何内容:

Substance s = new Substance("newSub", 100, symTable);
substancePanel.Children.Add(s);

谁能告诉我我做错了什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我不是告诉你不要让Substance从UI相关类继承吗?

如果你忽略DataTemplates将不会被应用(取决于预期的类型),但更糟糕的是你打破了模型 - 视图 - 分离。