Я использую следующий код для отображения ListView. ListView содержит TextBlock, который имеет FontSized связанный с переменной на мой MainPage:Метро XAML Связывание внутри ListView
<ListView x:Name="ListView"
SelectionMode="Single"
SelectionChanged="ListView_OnSelectionChanged"
Grid.Row="1"
Margin="8,16"
>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding DisplayName}"
FontSize="{Binding Path=FontSizeListViewTitle}" Margin="6,0,0,0" TextWrapping="NoWrap" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Проблема заключается в том, что FontSize = «{Binding Path = FontSizeListViewTitle}» не отображается корректно работать. Он показывает мне текст с fontSize, близким к 6 (или что-то еще), несмотря на то, что переменная FontSizeListViewTitle принимает значения от 16 до 24.
Интересно то, что если я поместил TextBlock за пределы ListView, работает отлично. Проблема возникает только при попытке использовать привязку внутри ListView. Кроме того, Text = "{Binding DisplayName} отлично работает и TextBlock показывает текст, который он должен показать
Часть кода из файла .cs Теперь:.
private int _fontSizeListViewTitle;
public int FontSizeListViewTitle
{
get { return _fontSizeListViewTitle; }
set
{
_fontSizeListViewTitle = value;
OnPropertyChanged("FontSizeListViewTitle");
}
}
#region INotifyPropertyChanged implementation
public event PropertyChangedEventHandler PropertyChanged;
internal void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
public MainPage()
{
InitializeComponent();
this.DataContext = this;
ListView.ItemsSource = MyList; // MyList is an Observable Collection
}
Он не возвращает никаких ошибок, но когда я запускаю программу, и я пытаюсь добавить элемент в ListView, приложение аварийно завершает работу. – TheQuestioner
Что делать, если я пытаюсь сделать что-то вроде и изменить FontSize из кода? Проблема в том, что я не знаю, как получить доступ к TitleTextBlock. ListView.TitleTextBlock не работает. –
TheQuestioner