Próbuję zduplikować przyciski paska narzędzi wyrównania w lewo/w środku/w prawo w programie Word. Po kliknięciu przycisku "Wyrównanie w lewo" przyciski Środek i Prawo odznaczają. Używam ListBox WPF z ToggleButtons.Grupa ToggleButton: Upewnianie się, że jeden element jest zawsze wybierany w ListBox
Problem polega na tym, że użytkownik może dwukrotnie kliknąć przycisk Wyrównanie do lewej. Drugie kliknięcie powoduje, że przycisk odznacza i ustawia wartość bazową na wartość null. Chciałbym, żeby drugie kliknięcie nie działało.
Pomysły? Zmusić ListBox, aby zawsze miał jeden wybrany element? Zapobieganie wartości zerowej w modelu widoku (należy odświeżyć powiązanie ToggleButton)?
<ListBox ItemsSource="{x:Static domain:FieldAlignment.All}" SelectedValue="{Binding Focused.FieldAlignment}">
<ListBox.ItemTemplate>
<DataTemplate>
<ToggleButton IsChecked="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}},Path=IsSelected}">
<TextBlock Text="{Binding Description}" />
</ToggleButton>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Dzięki. W zdarzeniu OnClick: if (toggleButton.IsChecked == false) toggleButton.IsChecked = true; –
Naprawdę myślałem o tym w ten sposób: ToggleButton> –
dnr3