Для вашего файла functions.php есть фрагмент:
function custom_admin_js() {
$url = get_bloginfo('template_directory') . '/js/wp-admin.js';
echo '"<script type="text/javascript" src="'. $url . '"></script>"';
}
add_action('admin_footer', 'custom_admin_js');
Отлично работает на Wordpress 3.2.1.
Посмотрите здесь .
Я не реализовал предложенное решение, но оно имеет смысл. Базовый элемент управления фреймворка разрывает ваши привязки при выполнении щелчка. Решение состоит в том, чтобы переопределить метод, который делает это, и просто полагаться на привязки.
Я написал простой совет по этой проблеме в моем блоге.
В этом случае вам следует написать View и ViewModel следующим образом:
<StackPanel Orientation="Horizontal" Grid.ColumnSpan="2">
<RadioButton IsChecked="{Binding IsGeneralNote}">General</RadioButton>
<RadioButton IsChecked="{Binding IsContactNote}">Contact</RadioButton>
<RadioButton IsChecked="{Binding IsAddressNote}">Address</RadioButton>
<RadioButton IsChecked="{Binding IsPhoneNote}">Phone</RadioButton>
</StackPanel>
public enum Note
{
General,
Contact,
Address,
Phone,
}
...
Note note = Note.General;
public Note Note
{
get { return this.note; }
set
{
if (this.note == value)
return;
this.note = value;
OnPropertyChanged("Note");
OnPropertyChanged("IsGeneralNote");
OnPropertyChanged("IsContactNote");
OnPropertyChanged("IsAddressNote");
OnPropertyChanged("IsPhoneNote");
}
}
public bool IsGeneralNote
{
get { return Note == Note.General; }
set { Note = value ? Note.General : Note; }
}
public bool IsContactNote
{
get { return Note == Note.Contact; }
set { Note = value ? Note.Contact : Note; }
}
public bool IsAddressNote
{
get { return Note == Note.Address; }
set { Note = value ? Note.Address : Note; }
}
public bool IsPhoneNote
{
get { return Note == Note.Phone; }
set { Note = value ? Note.Phone : Note; }
}
...
Хайме Родригес , который работает в Microsoft над WPF, публикует полные вопросы и ответы о WPF, а в последнем выпуске есть сообщение о RadioButtons и MVVM!
Сообщение находится по адресу
1137208] http://blogs.msdn.com/jaimer/archive/2009/09/22/wpf-discussion-090922.aspx , и вы хотите посмотреть на последний элемент в этом сообщении. Я протестировал решение, и оно мне понравилось.
Цитируется для удобства:
Я работал над этой проблемой в .NET 3.5 SP1. Вот как я привязываю данные группы переключателей к свойству с перечисляемым значением:
<StackPanel>
<RadioButton Content="New folder"
IsChecked="{Binding Path=PublishTarget,
Converter={StaticResource equalityConverter},
ConverterParameter={x:Static local:PublishTarget.NewServerFolder}, Mode=TwoWay}"
GroupName="1" />
<RadioButton Content="Existing folder"
IsChecked="{Binding Path=PublishTarget,
Converter={StaticResource equalityConverter},
ConverterParameter={x:Static local:PublishTarget.ExistingServerFolder},
Mode=TwoWay}"
GroupName="2" />
<RadioButton Content="Local folder"
IsChecked="{Binding Path=PublishTarget,
Converter={StaticResource equalityConverter},
ConverterParameter={x:Static local:PublishTarget.LocalFolder},
Mode=TwoWay}"
GroupName="3" />
</StackPanel>
Установка уникального значения GroupName каждого переключателя предотвращает сбивание привязки, когда пользователь щелкает переключатель. Здесь я полагаюсь на источник данных для реализации INotifyPropertyChanged, который сообщит другим переключателям об обновлении. Аналогичный подход должен работать для переключателей в ItemsControl.