Зрения:MahApps.Metro SplitButton SelectedItem Databinding
<Controls:SplitButton Margin="217,409.75,56,185" Name="SplitButton1"
Width="384"
HorizontalAlignment="Center"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Orientation="Vertical"
DisplayMemberPath ="UserName"
SelectedItem="{Binding SelectedUser,UpdateSourceTrigger=PropertyChanged,Mode=OneWay}"
ItemsSource="{Binding Users, Mode=TwoWay}" />
ViewModel является:
public string SelectedUser
{
get { return selectedUser; }
set
{
selectedUser = value;
RaisePropertyChanged("SelectedUser");
}
}
public ObservableCollection<UserModel> Users
{
get
{
return users;
}
set
{
users = value;
}
}
Модель является:
public class UserModel
{
private int id;
private string userName;
private int groupId;
private string deviceMacAddress;
public int Id { get; set; }
public string UserName { get; set; }
public int GroupId { get; set; }
public string DeviceMacAddress { get; set; }
}
я использую приведенный выше код в XAML для привяжите выбранный элемент в разделе split к виду ViewModel-> - SelectedUser.
но не работает. кто знает почему?
Выбранный пользователь возвращается в качестве имени модели (PresentationLayer.Model.UserModel) вместо обеспечения пользовательского имени.
благодарит за ваш ответ. класс пользователя имеет следующие свойства, public int Id {get; задавать; } public string UserName {get; задавать; } public int GroupId {get; задавать; } public string DeviceMacAddress {get; задавать; } как, если я просто хочу привязать выбранное имя.UserName? –
решена. Мне нужно изменить тип SelectedItem как UserModel, а не строку. –