我想使用DataTemplate
將作爲ItemSource的Dictionary<DateTime, MyClass>
綁定到StackPanel。它適用於Collection<DateTime>
,但似乎無法獲得Dicitonary的語法。 下面的xaml文件的作品,如果我只是綁定類型爲DateTime
字典的密鑰。但我也想訪問Value。值是MaClass類型,我需要將各個成員(FromDate
,ToDate
)也放入網格中。在此先感謝你們!使用其鍵和其值的成員綁定字典
.XAML文件
<DataTemplate x:Key="Mytemplate" DataType="x:Type local:MyClass">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="{Binding Key}"
ContentStringFormat="{}{0:dd.MM ddd}"/>
<!--Label Grid.Column="1" Content="{Binding Value.FromDate}"
ContentStringFormat="{}{0:HH:mm}"/-->
</Grid>
</DataTemplate>
...
<ItemsControl ItemsSource="{Binding ElementName=thispage,Path=MyDictionary}"
ItemTemplate="{StaticResource Mytemplate}" />
MyClass的:
public class MyClass
{
public DateTime FromDate { get; set; }
public DateTime ToDate { get; set; }
public string ThisString { get; set; }
public MyClass()
{
...
}
}
是否使用MVVM?如果MyDictionary屬性的類型爲'Dictionary',那麼你的模板是錯誤的,因爲你指定DataType爲'x:Type local:MyClass'。爲什麼在ItemsSource的綁定中使用'ElementName'? –
Guerudo
試試這個Path = Key – Paparazzi
我就是。是的,它的類型是'Dictionary'。如何提供Dictionary <>作爲DataType的語法? –
tzippy