私はアプリケーションを作成していますが、すべてのロジックがありますが、フロントエンドの観点からはあまりよく知られていません。app.xamlでテキストボックスのプロパティをグローバルに設定する方法[C#]
私はどのようにすべてのボタンのデザインをグローバルに設定できるかを学びました。同じように私はテキストボックスをしようとしていた。確かにスタイルが適用されますが、このスタイルが適用された後にテキストボックスにテキストを挿入することはできません。 どうすれば修正できますか?何が問題ですか ?誰かが私に何が間違っていると教えてもらえますか
私がやりたかったことは、誰かがマウスでマウスを動かしている間に、すべてのテキストボックスとボタンの周りに薄い赤い枠線を作ることでした。そして私は同じスタイルでも提供したいコンボボックスが1つあります。
これは、App.xamlで私のコードです:
<Application x:Class="Application.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Application"
StartupUri="MainWindow.xaml">
<Application.Resources>
<Style TargetType="Button">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Name="border"
CornerRadius="2"
BorderThickness="2"
BorderBrush="{TemplateBinding BorderBrush}"
Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="#FF0000" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="TextBox">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<!--<Setter Property="Foreground" Value="#000000"/>-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Border Name="textbox"
CornerRadius="2"
BorderThickness="2"
BorderBrush="{TemplateBinding BorderBrush}"
Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="textbox" Property="BorderBrush" Value="#FF0000" />
<!--<Setter Property="Foreground" Value="#FF0000"/>-->
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Application.Resources>
</Application>
編集:ボタンが
方法で正常に動作しています!編集2:
私は自分のやり方でコンボボックスを修正しようとしていましたが、ControlTemplateとScrollViewerのいずれの組み合わせも成功しませんでした。これは私のアプリケーションで欠けている唯一のコンポーネントです。私はこのような多くのソリューションを読んで試してみました。How to style ComboBox Background on Mouse Hover?
そのため私は解決してください。私がプログラミングの論理的な部分に焦点を当てているので、xamlのより複雑な部分の全体的な理解は、コンボボックスの強調表示の1つのために私にとって重要ではありません。 マウスが赤色になり、残りのコンボボックスが標準のままである間に、色の境界を変更しているコンボボックスを持っていたいと思います。この1つのプロパティ。どのように私はそれを迅速に変更することができますか
このスタイルを使用しているテキストボックスの例を提供できますか? – osmanraifgunes
jan - オリジナルの問題(テキストボックス)が回答済みとマークされていて、コンボボックスの問題が異なるため、別の投稿として "編集2"を作成することができます。 –