0

Window.Resources に配置された画像のスタイルがあります。

    <Style TargetType="{x:Type Image}">
        <Style.Triggers>
            <Trigger Property="IsEnabled" Value="False">
                <Setter Property="Opacity" Value="0.3" />
            </Trigger>
        </Style.Triggers>
    </Style>

そして私はツールバーを持っています:

        <ToolBarTray DockPanel.Dock="Top"  Background="Transparent">
            <ToolBar Band="0" BandIndex="0" x:Name="ToolbarCATIAAccess" Background="{DynamicResource linearGradBrushHellaTitanMenu}">
                <Button Name="ButtonInsertIntoProduct">
                    <Image x:Name="ImageInsertIntoProduct" Source="/HKBEStandardsFromPDMLibrary;component/Resources/InsertIntoCATIAProduct.png" 
                           ToolTip="insert files into active CATIA Product"/>
                </Button>
                <Button Name="ButtonCopyFilesToWIN">
                    <Image x:Name="ImageCopyFilesToWIN" Source="/HKBEStandardsFromPDMLibrary;component/Resources/CopyFilesToWIN.png" 
                           ToolTip="copy files to WIN folder"></Image>
                </Button>
            </ToolBar>
        </ToolBarTray>

このスタイルは、ウィンドウ全体および他のアプリケーションのすべての画像に対して機能します。ただし、ツールバーの最初の画像では機能せず、どちらが最初に来ても問題ありません。不透明度は最初に設定されません。非表示の(ボタン)画像を最初の画像としてツールバーに追加すると、最初に表示される画像で機能します。

スタイルが機能しない

...
                <Button Name="ButtonCopyFilesToWIN_" Visibility="Collapsed">
                    <Image x:Name="ImageCopyFilesToWIN_" Source="/HKBEStandardsFromPDMLibrary;component/Resources/CopyFilesToWIN.png" 
                           ToolTip="copy files to WIN folder"></Image>
                </Button>
                <Button Name="ButtonInsertIntoProduct">
                    <Image x:Name="ImageInsertIntoProduct" Source="/HKBEStandardsFromPDMLibrary;component/Resources/InsertIntoCATIAProduct.png" 
                           ToolTip="insert files into active CATIA Product"/>
                </Button>
                ...

働き方

ここにいる誰かが、何が問題であり、私を助けることができるか考えていますか? ありがとう

4

1 に答える 1

1

リソースとツールバーのコード スニペットを取得し、単純なアプリに配置して、機能しているかどうかを証明しました。私の例では、期待どおりに動作します。不透明度を 0 に変更して、画像が消えたときにはっきりと見えるようにしました。

スニペットの画像は私のサンプル画像です。あなたの画像に戻してください。以下のスニペットの画像で IsEnabled プロパティを明示的に設定すると、スタイルが適用されているかどうかがわかります。ここで、2 番目の画像が消えます (IsEnabled が false で、スタイルの不透明度が 0 に設定されているため)。画像の IsEnabled プロパティを交換して、2 番目の画像が true で最初の画像が false になると、最初の画像が消えます。そのため、以下に示す基本的なサンプル アプリにスタイルが適用されています。

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Dictionary1.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>
<Grid>
    <ToolBarTray DockPanel.Dock="Top"  Background="Transparent">
        <ToolBar Band="0" BandIndex="0" x:Name="ToolbarCATIAAccess" >
            <Button Name="ButtonInsertIntoProduct">
                <Image x:Name="ImageInsertIntoProduct" Source="scroll1.png" IsEnabled="True"
                       ToolTip="insert files into active CATIA Product"/>
            </Button>
            <Button Name="ButtonCopyFilesToWIN">
                <Image x:Name="ImageCopyFilesToWIN" Source="scroll2.png" IsEnabled="False"
                       ToolTip="copy files to WIN folder"></Image>
            </Button>
        </ToolBar>
    </ToolBarTray>
</Grid>

サンプル アプリの他のコードのみ (Dictionary1.xaml - リソース ディクショナリ ファイル):

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type Image}">
    <Style.Triggers>
        <Trigger Property="IsEnabled" Value="False">
            <Setter Property="Opacity" Value="0" />
        </Trigger>
    </Style.Triggers>
</Style>

于 2014-07-05T14:59:05.750 に答える