DataTemplate не отображается? - PullRequest
       11

DataTemplate не отображается?

0 голосов
/ 26 января 2012

У меня есть следующий код 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; 
    }
}

Name и Count - это DP, определенные в другом частичном определении класса.

Когда я добавил вещество в StackPanel или ListBox, ничего не показывалось:

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

Может кто-нибудь сказать мне, что я делаю неправильно. Любая помощь будет оценена.

1 Ответ

2 голосов
/ 27 января 2012

Разве я не говорил вам не заставлять Substance наследоваться от класса, связанного с пользовательским интерфейсом?

Если вы игнорируете, что DataTemplates не будет применяться (в зависимости от ожидаемого типа), но даже хуже, чем если вы нарушите разделение модели-вида.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...