Я использую управление представлением дерева в своем проекте silverlight. Я использую привязку данных для привязки моей модели к дереву. Это работает отлично.Silverlight Tree view
После добавления некоторых функций к дереву, я столкнулся с двумя проблемами:
Когда я изменить свойство на моей модели, дерево не обновляется, даже после того, как мой onproperty изменилось дозвонились, а также мой конвертер не называется? (Мне нужно скрыть элемент при изменении определенного свойства) (Ответил)
Как скрыть элемент в дереве? (Я использую Textbox + изображение шаблона Item)
Stack панель скрыта, но пустой контейнер остается в дереве
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>
Преобразователь: общественности object Convert (значение объекта, тип targetType, параметр объекта, ystem.Globalization.CultureInfo культура) { return GetVisibility (значение); }
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 для своего дерева), а также небольшую часть класса Model, показывающую вашу реализацию INotifyPropertyChanged? Проводка кода конвертера тоже помогла бы. –