0

TextBoxプロパティにバインドされたものがいくつかあります。これらのプロパティは、Validation.ErrorTemplate によってテストされます。私はMVVMを使用しません。

入力を保存するためのボタンを追加しました。

<Button Template="{StaticResource BoutonRessourcesTpl}" Command="Save">
  <Button.CommandBindings>
    <CommandBinding Command="Save"  Executed="Save_Executed" CanExecute="Save_CanExecute"/>
  </Button.CommandBindings>
  <Image Source= "Toolbar_Valider.png" Height="16"/>
</Button>

私のコードビハインドで私はこれを書きました:

    private void Save_Executed(object sender, ExecutedRoutedEventArgs e)
    {
    }

    private void Save_CanExecute(object sender, CanExecuteRoutedEventArgs e)
    {
        e.CanExecute = IsValid(sender as DependencyObject);
    }

    private bool IsValid(DependencyObject obj)
    {
        // The dependency object is valid if it has no errors, 
        //and all of its children (that are dependency objects) are error-free.
        return !Validation.GetHasError(obj) &&
            LogicalTreeHelper.GetChildren(obj)
            .OfType<DependencyObject>()
            .All(child => IsValid(child));
    }

私の問題は、入力を保存するためにコードを呼び出す場所がわからないことです。

4

1 に答える 1

0

コードを Save_Executed 関数に入れます。例については、http: //msdn.microsoft.com/en-us/library/system.windows.input.commandbinding.aspxを参照してください。この例では、CommandBinding は Button のオーナー ウィンドウに配置されています。

于 2013-03-20T21:17:22.847 に答える