0

次のコードがあります。

    <ToolBarTray Margin="0,21,0,0" Width="Auto" Height="38" VerticalAlignment="Top">
        <ToolBar Height="38">
            <Button Style="{StaticResource ResourceKey=btnStyle}" Command="Cut" IsEnabled="True">
                <Image Source="images/teren.png" ToolTip="Test" />
            </Button>
        </Toolbar>
    </ToolBarTray>

問題のスタイルは、現時点では高さと幅のみを変更します。すべての要素はそれに応じて描画されますが、ボタンはすべての目的で他のものではなく画像のように見えるという意味で機能していないようです. ツールチップは表示されず、ホバー アニメーションもなく、実際に押すこともできません。

私はWPFが初めてなので、何か大きなものを見逃したと思います。

問題は画像にありません。その行を削除しても、ボタンのようには機能しません。

4

1 に答える 1

1

ボタンが灰色になっているのは、組み込みのカット コマンドを使用するように指示したためです。これは、Buttonカットするものが何もない場合は自動的に無効になり、カットできるもの (テキストなど) が選択された場合は有効になることを意味します。

これを確認するには、次の 2 つの方法があります。カット コマンドを削除して、ボタンが有効になっていることを確認します。

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid>
        <ToolBarTray Margin="0,21,0,0" Width="Auto" Height="38" VerticalAlignment="Top">
            <ToolBar Height="38">
                <Button  IsEnabled="True">
                    Click
                </Button>
            </ToolBar>
        </ToolBarTray>
    </Grid>
</Window>

または、リッチ テキスト ボックス コントロールを追加して、テキストを選択するとボタンが有効になることを確認します。

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <ToolBarTray Width="Auto" VerticalAlignment="Top">
            <ToolBar Height="38" >
                <Button  IsEnabled="True" Command="Cut">
                    Click
                </Button>
            </ToolBar>
        </ToolBarTray>
        <RichTextBox Grid.Row="1"/>
    </Grid>
</Window>

ここに画像の説明を入力

于 2013-04-19T15:33:16.943 に答える