Bunu RibbonToggleButtons için yaptım, ancak normal ToggleButtons için de aynı olabilir.
Her düğme için IsChecked'i EnumToBooleanConverter kullanarak buradan bir "mod" enum değerine bağladım RadioButtons bir numaralandırmaya nasıl bağlanır?(ConverterParameter'ı kullanarak bu düğme için enum değerini belirtin. Her düğme için bir enum değeriniz olmalıdır)
Ardından, önceden işaretlenmiş bir düğmenin işaretinin kaldırılmasını önlemek için, bunu ŞeritToggleButton'ların her biri için Click olayı için kodunuzun arkasına koyun:
private void PreventUncheckRibbonToggleButtonOnClick ( object sender, RoutedEventArgs e ) {
// Prevent unchecking a checked toggle button - so that one always remains checked
// Cancel the click if you hit an already-checked button
var button = (RibbonToggleButton)sender;
if( button.IsChecked != null ) { // Not sure why checked can be null but that's fine, ignore it
bool notChecked = ( ! (bool)button.IsChecked );
if( notChecked ){ // I guess this means the click would uncheck it
button.IsChecked = true;
}
}
}