WPF不同项目';s项控件上的边距
我有以下WPF不同项目';s项控件上的边距,wpf,margin,itemscontrol,Wpf,Margin,Itemscontrol,我有以下项控件: <ItemsControl x:Name="ListResult"> <ItemsControl.ItemTemplate> <DataTemplate> <DockPanel> <Image Margin="10,0,0,0" Source="{Binding Pic}"/> <TextBl
项控件
:
<ItemsControl x:Name="ListResult">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DockPanel>
<Image Margin="10,0,0,0"
Source="{Binding Pic}"/>
<TextBlock Text={Binding Info}/>
</DockPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
是的,您可以在
列表的元素中设置边距,如:
ListResult[0].Margin = new Thickness(10, 0, 0, 0); // etc... for rest of elements
然后您的XAML代码需要如下所示:
<ItemsControl x:Name="ListResult">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DockPanel>
<Image Margin="{Binding Margin}"
Source="{Binding Pic}"/>
<TextBlock Text={Binding Info}/>
</DockPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
如果您想在两行之间切换:
发件人:
我把@biju commant改为Margin
<ItemsControl ItemsSource="{Binding ListResult}" AlternationCount="2">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DockPanel>
<Image x:Name="image" Source="{Binding Pic}"/>
<TextBlock Text="{Binding Info}"/>
</DockPanel>
<DataTemplate.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Margin" Value="10,0,0,0" TargetName="image"/>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Margin" Value="50,0,0,0" TargetName="image"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Reyn需要为每个项目设置不同的边距,而不是按变更索引设置项目!这就是为什么我说如果他指的是候补(我没有投票没有用)
<ItemsControl ItemsSource="{Binding ListResult}" AlternationCount="2">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DockPanel>
<Image x:Name="image" Source="{Binding Pic}"/>
<TextBlock Text="{Binding Info}"/>
</DockPanel>
<DataTemplate.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Margin" Value="10,0,0,0" TargetName="image"/>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Margin" Value="50,0,0,0" TargetName="image"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>