1

WP7 アプリで値「MaxLines」を TextBlock の Height プロパティにバインドしようとしています。LineHeight を MaxLines で乗算し、予想される高さを返すバインディングへのコンバーターがあります。私が言おうとしているのは、TextBlock に表示される行数を制御したいということです。コンバーターから TextBlock の LineHeight プロパティにアクセスするにはどうすればよいですか。

これをジェネリックにするために、LineHeights を個別に維持したり、viewModel からアクセスしたりしたくありませんでした

4

2 に答える 2

2

この記事「 Silverlight データ バインディングと値コンバーター」を参照してください。この記事では、 Silverlight でデータ バインドする方法について説明しています。この例では、パラメーター値を持つ ValueConverter を使用しています。

それが必要だと思います.LineHeightをパラメーターにバインドするだけです. (そのためにBlendを使用できます)

于 2012-04-12T12:57:32.137 に答える
1

ConverterParameter を使用できます。

<TextBlock x:Name="MyTextBlock" Height="{Binding ConverterParameter=Height, ElementName=MyTextBlock, Converter={StaticResource SomeConverter}}" Text="{Binding SomeLongText}" />

またはテキストブロック全体を渡します。

<TextBlock x:Name="MyTextBlock" Height="{Binding Converter={StaticResource ImageFileConverter}, ElementName=DropdownImage}" Text="{Binding SomeLongText}" />

次に、コントローラー内で:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var image = value as TextBlock;
            /*do your magic here*/
}
于 2012-04-12T14:19:51.927 に答える