Я начинаю разработку WPF на сенсорном устройстве. Хотя .NET и WPF кажутся замечательными технологиями, я несколько растерялся.
Я разрабатываю общий элемент управления. Я определил UserControl, который содержит Grid, несколько кнопок и SurfaceListBox. В реальном C#-коде я обрабатываю события и добавляю новые элементы в список, манипулируя атрибутом listItems-Attribute. Пока это работает нормально.
Теперь я хотел бы изменить стиль элементов списка - я хотел бы сделать их фон прозрачным, если они не выделены, и полностью белым, если они выделены. К сожалению, следующий фрагмент кода просто не работает. Он просто устанавливает белый цвет фона элемента списка text, но не всего элемента.
Обновление: теперь это работает!
<UserControl x:Class="SGEditor.MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
xmlns:my="http://schemas.microsoft.com/surface/2008" UseLayoutRounding="True">
<UserControl.Resources>
<Style TargetType="{x:Type ListBoxItem}" x:Key="ContainerStyle">
<Setter Property="Background" Value="Transparent" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
<Grid>
<my:SurfaceListBox Width="300" Height="300" />
</Grid>
</UserControl>
Спасибо!
Ганс