SystemParameters.HorizontalScrollBarHeight
値を複製しようとするのではなく、値を XAML で直接使用しないのはなぜですか? (コメントから追加)
リンクを提供したSystemParameters.HorizontalScrollBarHeight
ページには、XAMLとコードの両方でさまざまなプロパティを使用する方法を正確に示すコード例があります。SystemParameters
<Button FontSize="8" Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="5"
HorizontalAlignment="Left"
Height="{x:Static SystemParameters.CaptionHeight}"
Width="{x:Static SystemParameters.IconGridWidth}">
SystemParameters
</Button>
...
Button btncsharp = new Button();
btncsharp.Content = "SystemParameters";
btncsharp.FontSize = 8;
btncsharp.Background = SystemColors.ControlDarkDarkBrush;
btncsharp.Height = SystemParameters.CaptionHeight;
btncsharp.Width = SystemParameters.IconGridWidth;
cv2.Children.Add(btncsharp);
リンクされたページから:
XAML では、SystemParameters のメンバーを静的プロパティの使用法として、または動的リソース参照として (静的プロパティ値をキーとして) 使用できます。アプリケーションの実行中にシステム ベースの値を自動的に更新する場合は、動的リソース参照を使用します。それ以外の場合は、静的参照を使用してください。リソース キーには、プロパティ名に接尾辞 Key が追加されています。
したがって、アプリケーションの実行中に値を更新する場合は、これらのプロパティを次のように使用できる必要Binding
があります。
<Button FontSize="8" Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="5"
HorizontalAlignment="Left"
Height="{Binding Source={x:Static SystemParameters.CaptionHeight}}"
Width="{Binding Source={x:Static SystemParameters.IconGridWidth}}">
SystemParameters
</Button>
次のように使用することもできますDynamicResource
。
Property="{DynamicResource {x:Static SystemParameters.CaptionHeight}}"