내 실버 프로젝트에서 트리보기 컨트롤을 사용하고 있습니다. 내 모델을 트리에 바인딩하기 위해 데이터 바인딩을 사용합니다. 이것은 완벽하게 작동합니다.Silverlight 트리보기
나는 두 가지 문제로 실행 트리에 일부 기능을 추가 한 후 :
내 모델의 속성을 변경, 나무는 내 내 onproperty가 호출되는 변경된 후에도 업데이트되지 않습니다 변환기가 호출되지 않았습니까? (특정 속성이 변경 될 때 항목을 숨길 필요가 있습니다) (답변 됨)
트리에서 항목을 숨기려면 어떻게해야합니까?
스택 패널이 숨겨져 있습니다 (I는 항목 템플릿으로 텍스트 상자 + 이미지를 사용), 그러나 빈 용기는 나무에
DataTemplate을 유지 :
<common:HierarchicalDataTemplate ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal" Visibility="{Binding IsAvailable, Converter={StaticResource ItemVisibleConverter} ,Mode=TwoWay}" >
<Image Source="{Binding Converter={StaticResource ImageConverter}}"/>
<controls:Label Name="myItem" Content="{Binding Description, Converter={StaticResource ItemConverter} ,Mode=TwoWay}" Foreground="Black"/>
</StackPanel>
</common:HierarchicalDataTemplate>
변환기 : 공개 개체 변환 (개체 값, 형식 targetType, 개체 매개 변수, ystem.Globalization.CultureInfo culture) { 반환 값 GetVisibility (value); }
private Visibility GetVisibility(object value)
{
bool IsVisible= (bool)value;
if (IsAvailableForDownload)
{
return Visibility.Visible;
}
else
{
return Visibility.Collapsed;
}
}
모델
public class MyModel: INotifyPropertyChanged
{
public bool IsAvailable
{
get
{
return _IsAvailableForDownload;
}
set
{
_IsAvailableForDownload = value;
onPropertyChanged(this, "IsAvailableForDownload");
}
}
//Code for on property changed event
}
감사
데이터 바인딩을 설정 한 Xaml (트리의 HierarchialDataTemplate)과 INotifyPropertyChanged 구현을 보여주는 Model 클래스의 작은 부분을 게시 할 수 있습니까? 변환기 코드를 게시하면 도움이 될 것입니다. –