3
有沒有辦法將一些邊界屬性賦值給ViewModel,然後讓Border的內容匹配與該VieWModel對應的任何類型的數據模板?爲單個控件使用類型化的數據模板
這是一個很做作的例子,但假設我有一個用戶控件:
<Grid>
<StackPanel>
<TextBox Height="30" Width="300" Margin="10" Text="{Binding IntProperty}"></TextBox>
<TextBox Height="30" Width="300" Margin="10"></TextBox>
<Border x:Name="SingleElement" Height="100" Width="350" BorderBrush="Red" />
</StackPanel>
</Grid>
而且我有這種類型的數據模板:
<DataTemplate DataType="local:SingleItemViewModel1">
<StackPanel>
<TextBlock Margin="10" Text="{Binding A}"></TextBlock>
<TextBlock Margin="10" Text="{Binding B}"></TextBlock>
</StackPanel>
</DataTemplate>
在代碼 - 在我的用戶控制的後面(再次,設計)是否有SingleElement
的屬性,我可以將它分配給SingleItemViewModel1
的新實例,以便上述DataTempla te會顯示在裏面嗎?
我試過了,但是這會導致邊框只顯示類的名稱-Wpf_Sandbox.SingleItemViewModel1;它沒有解決類型化的數據模板。有沒有辦法哄它這樣做? – 2011-05-26 21:15:56
@AdamRackis答案在這裏找到:http://stackoverflow.com/questions/17514824/how-to-get-contentcontrol-to-resolve-datatemplate。基本上,在定義數據模板時使用{x:Type}而不僅僅是類型名稱 – BradleyDotNET 2016-01-26 00:25:43