Iam在我的桌面应用程序中使用WPF。 在我的XAML代码中,我创建了一个带有列表框的标签项。 现在,在我的xaml.cs文件中,在按钮上单击iam添加1选项卡。 我想要做的是,点击按钮,新创建的标签应该有其他数据的列表框。 那么,我如何为所有创建的标签维护一个类似的模板? 我知道有办法为所有tabitems创建一个类似的样式模板。但我不想保持相同的样式,但保持相同的控件,我将动态给予数据源。WPF Tabcontrol所有选项卡的相同类型的模板
这里是我的代码XAML代码:
<DataTemplate x:Key="ValueStyle" >
<TextBlock ToolTip="{Binding Path=Value}" VerticalAlignment="Center" Margin="2" Padding="2" Text="{Binding Path=Value}" />
</DataTemplate>
<Style x:Key="ExpandCollapseToggleStyle" TargetType="{x:Type ToggleButton}">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Width" Value="16"/>
<Setter Property="Height" Value="16"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Border Width="16" Height="16" Background="Transparent" Padding="5,5,5,5">
<Path x:Name="ExpandPath" Fill="Transparent" Stroke="#FF989898" Data="M0,0 L0,6 L6,0 z">
<Path.RenderTransform>
<RotateTransform Angle="135" CenterX="3" CenterY="3"/>
</Path.RenderTransform>
</Path>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="ExpandPath" Property="Stroke" Value="#FF1BBBFA"/>
<Setter TargetName="ExpandPath" Property="Fill" Value="Transparent"/>
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="ExpandPath" Property="RenderTransform">
<Setter.Value>
<RotateTransform Angle="180" CenterX="3" CenterY="3"/>
</Setter.Value>
</Setter>
<Setter TargetName="ExpandPath" Property="Fill" Value="#FF595959"/>
<Setter TargetName="ExpandPath" Property="Stroke" Value="#FF262626"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.Resources>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" MouseLeftButtonDown="ListItemClicked">
<Border Width="{Binding Path=Level, Converter={StaticResource ConvertLevelToIndent}}" />
<ToggleButton x:Name="tb" ClickMode="Press" IsChecked="{Binding Path=IsExpanded}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
<TextBlock FontSize="14" Text="{Binding Path=r1}" Width="100" />
<TextBlock FontSize="14" Text="{Binding Path=r2}" Width="100" />
</StackPanel>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=SubKeyCount}" Value="0">
<Setter Property="Visibility" TargetName="tb" Value="Hidden"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
你可以使用绑定吗? –
我已经将数据绑定到类变量r1和r2。你说什么样的约束力?你能解释一下吗? – Surjeet