0
저는 Enum int 값을 datagridtextboxcolumn에 바인드하고 싶습니다. 내가 여기에 내가 열거 값, 즉 바인딩 할 enum의 정수 값을 wpf의 datagridtextcolumn에 바인딩하는 방법
<DataGridComboBoxColumn Header="Value" ItemsSource="{Binding Source={StaticResource GetEnumValues}, UpdateSourceTrigger=PropertyChanged}" Width="100"
SelectedItemBinding ="{Binding Enm_Purchase_Rets, Mode=TwoWay}" />
<DataGridTextColumn Binding="{Binding xxx}" Header="Enum Id" Width="80" />
XAML 에서
public enum Enm_Purchase_Ret : short
{
Purchase = 1,
Sale = 2,
Return = 3
}
public class Vm_Purchase : INotifyPropertyChanged
{
private Enumitem EnumItem = new Enumitem { Enm_Purchase_Rets = Enm_Purchase_Ret.Purchase };
public Vm_Purchase()
{
}
public class Enumitem
{
public Enm_Purchase_Ret Enm_Purchase_Rets { get; set; }
}
public Enumitem TestenumClass
{
get { return this.EnumItem; }
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] string PropertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new
PropertyChangedEventArgs(PropertyName));
}
}
}
아래 코드를 사용합니다. 1,2,3 등 xxx posotion에
내가별로 wpf 전문가가 아니므로 바인딩하는 방법을 도와주세요.
감사합니다.
을 "{ 출처 = {정적 리소스의 GetEnumValues을}, 바인딩 UpdateSourceTrigger =하여 PropertyChanged}"SelectedValuePath = " {Binding Path = Enm_Purchase_Rets, StringFormat = '\ {0 : D \}'} " 너비 ="100 "SelectedItemBinding ="{바인딩 Enm_Purchase_Rets, 모드 = TwoWay} "/> –
그러나 DataGridTextColumn에 값을 가져 오지 않습니다. –
@babucr, 귀하의보기 모델에 대한 자세한 정보를 제공하십시오. 내 제안은 모든 enum 속성에 대해 작동해야합니다. ** Path는보기 모델에서 속성의 올바른 이름 **을 사용합니다. DataContext 및 DataGrid의 ItemsSource 란 무엇입니까? DataGridTextColumn은 StringFormat없이 열거 형 이름/아무것도 표시합니까? (그렇지 않은 경우 - 잘못된 바인딩 경로 임) – ASh