我有ItemsControl一个DataTemplate描述如何显示每个项目的说明。我想在 DataTemplate 中拥有的 UI不适合由 XAML 建模,我将不得不Grid在代码中填充一个。
如何在每次DataTemplate实例化 my 时运行此代码,以便我有机会填充无法在 XAML 中表达的位?
为了扩展一点,考虑一个简化的例子。虚拟机如下所示:
class MyItem
{
public string Name { get; set; }
public MyGrid Grid { get; set; } // describes a complex grid-like model
}
DataTemplate看起来像这样:
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
<Grid/>
</DataTemplate>
这<Grid/>是我想在基于MyItem.Grid. 我怎样才能做到这一点?
(如果您要说我不应该填充<Grid/>in 代码而只使用 XAML,请改为回答此问题)