У меня есть три переключателя привязаны (с Caliburn.Micro) до трех свойств модели. Все свойства кажутся правильными, и я отлаживаю, чтобы увидеть, что выбранное свойство возвращает True, и что элемент управления имеет IsChecked = true, и, как представляется, атрибуты свойств повышаются нормально, но когда я впервые открываю форму, ни одна из переключаемых кнопок не отображается , Если я начну нажимать на них, все будет работать нормально, только при начальной загрузке выбранное значение не будет нажато. Это XAML ...WPF RadioButton, созданный как ToggleButton, не отображающий начальное значение
<RadioButton GroupName="Alignment" Name="FooterLeftAlign" Style="{StaticResource {x:Type ToggleButton}}" Margin="0,0,5,0">
<Image Source="pack://application:,,,/DevExpress.Images.v15.1;component/Images/Format/AlignLeft_16x16.png" Margin="0" />
</RadioButton>
<RadioButton GroupName="Alignment" Name="FooterCenterAlign" Style="{StaticResource {x:Type ToggleButton}}" Margin="0,0,5,0">
<Image Source="pack://application:,,,/DevExpress.Images.v15.1;component/Images/Format/AlignCenter_16x16.png" Margin="0" />
</RadioButton>
<RadioButton GroupName="Alignment" Name="FooterRightAlign" Style="{StaticResource {x:Type ToggleButton}}" Margin="0,0,5,0">
<Image Source="pack://application:,,,/DevExpress.Images.v15.1;component/Images/Format/AlignRight_16x16.png" Margin="0" />
</RadioButton>
А вот свойства ...
public bool FooterLeftAlign {
get {
return (ScannerSettings.StampOptions.TextAlign == TextAlignment.Left);
}
set {
if (value) {
ScannerSettings.StampOptions.TextAlign = TextAlignment.Left;
RaisePropertyChanged(() => FooterLeftAlign);
}
}
}
public bool FooterCenterAlign {
get {
return (ScannerSettings.StampOptions.TextAlign == TextAlignment.Center);
}
set {
if (value) {
ScannerSettings.StampOptions.TextAlign = TextAlignment.Center;
RaisePropertyChanged(() => FooterCenterAlign);
}
}
}
public bool FooterRightAlign {
get {
return (ScannerSettings.StampOptions.TextAlign == TextAlignment.Right);
}
set {
if (value) {
ScannerSettings.StampOptions.TextAlign = TextAlignment.Right;
RaisePropertyChanged(() => FooterRightAlign);
}
}
}
У меня даже есть некоторые фактические ToggleButtons на эту форму для Bold, Курсив и т.д ... и они работают хорошо. Я видел множество примеров форсирования пользовательских стилей с помощью триггеров, но я хочу убедиться, что они похожи на другие кнопки переключения. Поскольку я видел другие примеры, очень похожие на это, единственное, что я мог придумать, это тот факт, что у нас есть тема DevExpress, но не удалось найти ничего похожего на изменение этого поведения.
Если у кого-то есть предложения, мы будем очень благодарны.
Те радиокнопок не кажется, IsChecked связан ни к чему ... вы устанавливая их значения где-нибудь еще? –
Жаль спасибо, что указали, что они связаны с помощью Caliburn.Micro. – HiGravity