我正在尝试创建一个流畅的页面,正在由其他一些数据模板构建。
例如:
我有两个数据模板
。
>
DataTemplate1
=>StackPanel中的按钮和Textblock。如:
stackpanel << [Button] textblockwithtext >>
DataTemplate2
=>StackPanel中的Textblock和Combobox。如:
stackpanel << 11111111thisisnewtextblock >> [ComboBox]
在我将它们合并之后,这是第三个模板(类似于:
stackpanel << DataTemplate1 DataTemplate 2 >>
我会得到一些不流利的东西。可能都是一脉相承的,
或者是两条线,但它会在中间断裂,比如:
按钮文本1\n
文本2\n组合框。
我想要一些像这样的东西:按钮\n文本1和文本2的一半\n文本2的最后一半和组合框。(根据窗口的空间大小)。
所以,我想找到一个工作的包装方式,当我使用两个datatemplates(包装面板不是我要找的,我正在寻找一种方法合并两个datatemplates-让它们互相包装,这样它们就不会是一个完全不同的部分)。
我尝试使用run in Document,但几乎不可能为它们创建datatemplate。
有什么想法吗?
多谢了。
够近了?
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Grid.ColSpan="2" />
<TextBlock Grid.Row="1" Grid.ColSpan="2">
<Run Text="{Binding Text1}" />
<Run Text="{Binding Text2 , Converter={StaticResource StringToSubStringConverter,ConverterParameter=0}}" />
</TextBlock>
<Text Text="{Binding Text2 , Converter={StaticResource StringToSubStringConverter,ConverterParameter=1}}" Grid.Row="2"
<ComboBox Grid.Column="1" Grid.Row="2" />
</Grid>
</DataTemplate>
转换器参数的1和0表示下半部分和上半部分。