C# Xaml 在 C# 中添加 ListBox 模板
C# Xaml ListBox Template Add in c#
我对列表框做了一些研究,但我不明白如何解决我的问题。
我的 xaml 页面中有一个列表框,现在我想使用模板添加一个 listviewitem(因此我得到切换按钮等),而不是在 xaml 中并借助 c#。我该怎么做呢?谢谢你的帮助
<ListBox x:Name="Listbox" Background="Red">
<ListBox.ItemTemplate >
<DataTemplate>
<Grid x:Name="TemplateGrid">
<ToggleSwitch x:Name="Toggle" Foreground="Black">
<ToggleSwitch.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="Black" Offset="1"/>
</LinearGradientBrush>
</ToggleSwitch.Background>
</ToggleSwitch>
<TextBlock HorizontalAlignment="Right" VerticalAlignment="Center" Width="26" x:Name="Text" Foreground="Black">Test</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
列表框将自动使用该模板。从您的代码中,只需调用 Listbox.Items.Add(obj)
。不过要注意一件事 - 在您的数据模板中,我没有看到您正在为要定位的数据模板指定数据类型,因此它将通过在您的对象上调用 ToString()
来使用通用显示。
我对列表框做了一些研究,但我不明白如何解决我的问题。 我的 xaml 页面中有一个列表框,现在我想使用模板添加一个 listviewitem(因此我得到切换按钮等),而不是在 xaml 中并借助 c#。我该怎么做呢?谢谢你的帮助
<ListBox x:Name="Listbox" Background="Red">
<ListBox.ItemTemplate >
<DataTemplate>
<Grid x:Name="TemplateGrid">
<ToggleSwitch x:Name="Toggle" Foreground="Black">
<ToggleSwitch.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="Black" Offset="1"/>
</LinearGradientBrush>
</ToggleSwitch.Background>
</ToggleSwitch>
<TextBlock HorizontalAlignment="Right" VerticalAlignment="Center" Width="26" x:Name="Text" Foreground="Black">Test</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
列表框将自动使用该模板。从您的代码中,只需调用 Listbox.Items.Add(obj)
。不过要注意一件事 - 在您的数据模板中,我没有看到您正在为要定位的数据模板指定数据类型,因此它将通过在您的对象上调用 ToString()
来使用通用显示。