|
Expander контрол wpf. реализовать автораскрытие по условию.
|
|||
---|---|---|---|
#18+
Добрый день. Пытаюсь реализовать автораскрытие контрола "Expander" при условии, если есть ошибки валидации, используя конвертер. Кусок кода xaml: <Expander Header="Информация об ошибках" Style="{StaticResource ExpanderStyle}" IsExpanded="{Binding ElementName=Errors, Converter={StaticResource visibilityConverter}, Path=IsExpanded}" > <RichTextBox ScrollViewer.VerticalScrollBarVisibility="Visible" Style="{StaticResource RichTextBoxStyle}" Foreground="Red" IsReadOnly="True"> <FlowDocument> <Paragraph> <ItemsControl ItemsSource="{Binding Path=Errors}"> <ItemsControl.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding}" Style="{StaticResource ErrorTextBlockStyle}"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </Paragraph> </FlowDocument> </RichTextBox> </Expander> Во ViewModel есть коллекция ошибок: private ObservableCollection<string> errors = new ObservableCollection<string>(); public ObservableCollection<string> Errors { get { return errors; } set { errors = value; OnPropertyChanged("Errors"); } } Необходимо, чтобы если количество ошибок > 0 раскрывать expander при загрузке. Код конвертера: public class VisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { LoadingFile loadingFile = (LoadingFile)value; if (loadingFile.ExcelErrors.Count > 0) { return Visibility.Visible; } else { return Visibility.Collapsed; } } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } } Может быть есть другие, более оптимальные способы реализации ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2013, 10:46 |
|
|
start [/forum/topic.php?fid=21&fpage=28&tid=1441339]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 302ms |
total: | 449ms |
0 / 0 |