0

의 속성을 변경하지 마십시오.내가 DP 속성에 <code>ListView</code>과 <code>ICollectionView</code> 속성에 <code>ItemSource</code> 바인딩 및 바인딩 선택 항목이 ChangePropertycallback

public static readonly DependencyProperty SelectedProperty = 
     DependencyProperty.Register("Selected", 
            typeof(Myclass), 
            typeof(MyControl), new PropertyMetadata(SelectedContactChange)); 


    static void SelectedContactChange(DependencyObject d, DependencyPropertyChangedEventArgs e) 
    { 
     MyControlcontrol = d as MyControl; 
     control.MYView = CollectionViewSource.GetDefaultView(((Myclass)e.NewValue).Numbers); 
    } 

와 나는 다른리스트보기 MYVIEW의 PROPERT에 itemsource 결합을 갖는다.

내가 MYVIEW에 대한 값을 설정 SelectedProperty을 변경할 수 있지만, MYVIEW 바인딩 목록보기에 새 값을 표시하지 않습니다

ICollectionView _myView; 
    public ICollectionView MYView 
    { 
     get { return _myView; } 
     set 
     { 
      _myView= value; 
     } 
    } 
!

변경할 때 MYView 속성을 변경하는 방법 SelectedProperty ??

+0

바인딩 소스에 직접 값을 할당하면 바인딩이 깨집니다. – ethicallogics

+0

"MYView를 설정하려고하지만 MYView는 변경하지 마십시오."라는 의미는 무엇입니까? 더 정확하게 말하십시오. – Clemens

+0

viewModel의 selected 속성을 selectedItem에 바인딩 한 다음 VM에서 여기에서 수행하는 작업을 수행하고 MYView에 값을 할당하십시오. – ethicallogics

답변

0

100 % 확인,하지만 난 당신의 ListView의 ItemsSource 아마도 다음과 같이 당신의 MyControl 클래스의 MYView 속성에 바인딩 추측 :

<MyControl x:Name="myControl" ... /> 
<ListView ItemsSource="{Binding MYView, ElementName=myControl}" /> 

당신은 지금 거기는 MYView 속성 값을 변경하는 경우 변경 바인딩을 알리는 메커니즘이 아닙니다. 당신은 INotifyPropertyChanged를 구현하고 MYView 변경 때 PropertyChanged 이벤트를 발생한다 :

public class MyControl : UserControl, INotifyPropertyChanged 
{ 
    public event PropertyChangedEventHandler PropertyChanged; 

    public ICollectionView MYView 
    { 
     get { return _myView; } 
     set 
     { 
      _myView = value; 
      if (PropertyChanged != null) 
      { 
       PropertyChanged(this, new PropertyChangedEventArgs("MYView")); 
      } 
     } 
    } 
} 

또는 다른 종속성 속성으로 MYView을 정의 할 수 있습니다.

+0

고마워, 나는 사용자 정의 컨트롤을 사용하고 RelativeSource = {RelativeSource TemplatedParent} listview ... 나는 PropertyChanged를 사용하지만 새 항목을 표시하지 않습니다. – Niloo

+0

문제는 동일하며 바인딩에 통지해야합니다. 그것에 대해 생각해보십시오. – Clemens

+0

고마워 ... MYView에 대한 종속성 속성을 사용합니다. – Niloo