DataGrid ItemSource에없는 속성에 DataGrid DataGridTemplateColumn을 바인딩 할 수 있지만 속성이 Itemsource의 동일한 DataContext 내에 있는지 궁금합니다.DataGrid ItemSource에없는 속성에 WPF 바인딩
XAML
// I am trying to bind the Visibility property to a property called Visible
<DataGridTemplateColumn Header="Apply" Visibility="{Binding source Visible}">
// However the visible property doesnt exist inside the resource cvsCustomers
ItemsSource="{Binding Source={StaticResource CustomerCollection}}"
는 C#
// But they both live in the same ViewModel i.e. DataContext
private Visibility m_Visible = Visibility.Hidden;
public Visibility Visible
{
get { return m_Visible; }
set { m_Visible = value; }
}
private ObservableCollection<Customer> m_CustomerCollection = null;
public ObservableCollection<Customer> CustomerCollection
{
get { return m_CustomerCollection; }
set { m_CustomerCollection = value; }
}
이는
를 달성 할 수 있습니까?
감사
로 DataGridTemplateColumn의 가시성을 결합 할 수있다'CustomerCollection '보기 모델 클래스에서 ItemsSource를 ResourceDictionary에있는 컬렉션에 "CustomerCollection"키를 사용하여 바인딩합니다. 그건별로 의미가 없습니다. – Clemens
죄송합니다 - CustomerCollection에서 필터링해야하므로 컬렉션은 CollectionViewSource에서 가져온 것입니다. – user3428422
확인. DataGrid의 DataContext가 ViewModel 클래스의 인스턴스라면 Visibility = "{Binding Visible}"또는 "Visibility ="{Binding Path = Visible} "로 바인드 할 수 있어야합니다. – Clemens