Ниже приведен кодПроблема с окантовкой для ComboBox в WPF
<ComboBox Name="cmbRegisteredDriveList"
Width="150" HorizontalAlignment="Center"
ItemsSource="{Binding Path=DriveList}"
SelectedItem="{Binding Path=SelectedDrive, Mode=TwoWay}"
IsEnabled="{Binding IsBusy, Converter={StaticResource NotConverter}}"
ItemContainerStyle="{StaticResource xxxx.ComboBoxItem.Style}">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock x:Name="tbTemplate" Width="250" Visibility="Collapsed"/>
<TextBlock TextWrapping="NoWrap"
Text="{Binding VolumeLabel, Converter={StaticResource CenterEllipsisConverter}, ConverterParameter={x:Reference tbTemplate}}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Когда мы когда-либо изменить метку тома для диска мы получаем уведомление. Но выбранный элемент в поле со списком не обновляется. Может ли кто-нибудь помочь мне в этом. Я хочу отобразить измененную метку тома для выбранного элемента в поле со списком.
public ObservableCollection<DiskDrive> _driveList;
public ObservableCollection<DiskDrive> DriveList { get { return _driveList; } }
private DiskDrive _selectedDrive;
public DiskDrive SelectedDrive
{
get { return _selectedDrive; }
set { _selectedDrive = value; NotifyPropertyChanged(() => SelectedDrive); } }
Также мы уведомляем его, когда это необходимо.
NotifyPropertyChanged(() => DriveList);
NotifyPropertyChanged(() => SelectedDrive);
В class DiskDrive
свойство VolumeLabel
определяется следующим образом:
/// <summary>
/// Get the volume name of this disk. This is the friendly name ("Stick").
/// </summary>
/// <remarks>
/// When this class is used to identify a removed USB device, the Volume
/// property is set to String.Empty.
/// </remarks>
private string _volumeLabel;
public string VolumeLabel
{
get { return _volumeLabel; }
set { _volumeLabel = string.IsNullOrWhiteSpace(value) ? string.Format(LocalizationManager.Instance["XXXX"], SerialNumber) : value; }
}
Можете ли вы показать нам определение 'SelectedDrive'? – wkl
Как вы меняете _VolumeLabel_? – Ron
Попробуйте 'UpdateSourceTrigger' в вашей привязке. – AnjumSKhan