আমি এটি রিবনটগলব্যাটনের জন্য করেছি তবে নিয়মিত টগলব্যাটনের ক্ষেত্রেও এটি একই রকম হতে পারে।
আমি EnumToBooleanConverter ব্যবহার করে এখান থেকে প্রতিটি বোতামের জন্য "মোড" এনুম মানটির সাথে আইসচেকড বেঁধে রেখেছি কীভাবে রেডিওবাটনগুলিকে একটি এনামের সাথে বাঁধবেন ? (কনভার্টারপ্যারামিটার ব্যবহার করে এই বোতামটির জন্য এনাম মান নির্দিষ্ট করুন each প্রতিটি বোতামের জন্য আপনার একটি এনাম মান থাকতে হবে)
তারপরে ইতিমধ্যে চেক করা একটি বোতামটি অনিচ্ছুক প্রতিরোধ করতে, প্রতিটি রিবন টগলব্যাটনের জন্য ক্লিক ইভেন্টের জন্য এটি আপনার কোডের পিছনে রাখুন:
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;
}
}
}