Я пытаюсь реализовать масштабирование по пинчу / растяжению в ListBox:
<ListBox
Grid.Row="1"
ManipulationCompleted="ListBox_ManipulationCompleted"
ItemsSource="{Binding Paras}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock
DataContext="{Binding}"
TextWrapping="Wrap"
Text="{Binding Text}"
FontSize="{Binding FontSize}">
</TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Что я действительно хочу сделать, так это связать RenderTransform со свойством Zoom моей ViewModel, но это не разрешено.Я могу привязать к FontSize, и он корректно меняет FontSize, но мне нужно жестко закодировать это в моем коде.Что я действительно хочу сделать, так это соблюдать настройки FontSize, установленные дизайнером, и применять равномерное масштабирование для всех размеров шрифта.Так что в моем коде позади:
Style style = App.Current.Resources[_XElement.Name.LocalName] as Style;
if ( style != null )
{
foreach ( var s in style.Setters )
{
Setter setter = s as Setter;
if ( setter != null )
{
Debug.WriteLine(setter.Property + "=" + setter.Value);
}
}
}
Я не могу получить доступ к setter.Property.Name (ошибка времени компиляции), хотя я вижу, что FontSize находится в отладчике.И значение всегда «Не удалось оценить выражение» - выводится как пустое.
Есть какие-либо подсказки, либо о том, что здесь происходит, либо лучший способ сделать это?
Эндрю