0

ウィンドウの閉じるコマンドに依存するウィンドウ スタイルでカスタムの閉じるボタンを作成したいと考えています。私はこのようなものを書きました:

<Style x:Key="WindowsGeneralStyle"  TargetType="Window">
   ...
    <Setter Property="Template" >
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Window}">
                <Grid>
                     ...
                     <Button x:Name="closebtn" Command={Binding Close} ... />
                </Grid> 
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

しかし、うまくいきませんでした。どうやってこれを行うのですか?

4

2 に答える 2

1

問題を解決しました。ResourceDictionary の部分クラスを作成し、背後のコードで [閉じる] ボタンのクリック イベントを処理しました。

ResourceDictionary XAML ファイル:

    <ResourceDictionary ...  x:Class="MyNameSpace.WindowStyle">
    ...
    <Style x:Key="WindowsGeneralStyle"  TargetType="Window">
            <Setter Property="Template" >
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Window}">
                        <Grid>
                             ...
                             <Button x:Name="closebtn"  Click="CloseBTN_Clicked" ... />
                        </Grid> 
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
</ResourceDictionary>

および背後のコード:

namespace MyNameSpace
{
    public partial class WindowStyle
    {
        private void CloseBTN_Clicked(object sender, RoutedEventArgs e)
        {
            Window.GetWindow(((FrameworkElement)e.Source)).Close();
        }
    }
}

今、それはかなりうまくいきます!

于 2012-05-05T05:19:25.367 に答える
0

{Binding Close}現在Closeの のコマンドにバインドしようとすると、おそらく のようなものが必要になります。DataContext{x:Static ApplicationCommands.Close}

于 2012-05-04T12:57:16.667 に答える