我想要解決WPF應用程序中樣式/綁定數據的不同方式。爲了更好地理解這一點,我想就如何設計我的具體示例提供建議/幫助。WPF:什麼是佈局的最佳做法
下面的屏幕截圖展示了我的目標。我還包括了我已經寫過的代碼。但是,這只是使用簡單的StackPanel輸出主標題和文本。
我的第一個問題是關於多少「信息」,以及應該將哪些內容放入View中,然後在我的resources.xaml中如何設置它以及如何設置它們?這可能是模糊的,但我想了解我應該考慮在我的視圖中包含哪些控件,以及我應該考慮將哪些代碼放入我的樣式中。
形象的例子
MyView.xaml
<ScrollViewer VerticalScrollBarVisibility="Auto" Padding="20 0">
<ItemsControl ItemsSource="{Binding MyModelList}" ItemTemplate="{StaticResource MyViewDataTemplate}" >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</ScrollViewer>
Resources.xaml
<DataTemplate x:Key="MyViewDataTemplate">
<Border BorderThickness="0 0 0 1" BorderBrush="Black">
<StackPanel>
<Label Content="{Binding Heading}" FontSize="24" />
<Label>
<Label.Content>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="Card: {0}, {1}">
<Binding Path="PropertyA"></Binding>
<Binding Path="PropertyB"></Binding>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Label.Content>
</Label>
</StackPanel>
</Border>
</DataTemplate>
謝謝,這有助於瞭解佈局。我也意識到DataTemplates可以在你的視圖(作爲控件的一部分)或資源文件中定義(如果它需要多次使用)。這只是想知道我喜歡把這些信息放在哪裏。例如,定義的DataTemplate只使用一次,因此我更喜歡將它放在View中,因爲它只是該用戶控件的一部分。 – David