9

ImageとTextBlockを含むスタックパネルがあります。ユーザーがダブルクリックを実行すると、イベントが発生します(PS -StackPanelとその子(重要な場合はプログラムでImageとTextBlockを追加します)。

ここで、スタックパネル内からTextBlock要素を取得する必要があります。DataBindingを使用して取得する必要があることは理解していますが、私はWPFの初心者であり、Webでその例を実際に見つけていません。説明させていただきます、ありがとうございました!

(私は少し前にDataBindingについて学びました)。

4

2 に答える 2

22

特定のタイプ(TextBlockなど)の最初の子要素を取得する簡単な方法は次のとおりです。

var textBlock = panel.Children.OfType<TextBlock>().FirstOrDefault();

最初のTextBlockを取得するかnull、存在しない場合は取得します。

于 2012-06-19T07:15:39.213 に答える
0

クラスに要素をDataBind(?)する必要がありTextBlock Textます-次のように:

XAMLの場合

<TextBlock x:Name="MyTextBlock"
   Text={Binding ShowThis, Mode=OneWay} />

クラスで:

 public class MyDataContextClass
 {
     private string showThis = string.Enpty;
     public string ShowThis
     {
         get {return showThis;}
         set
         {
              showThis = value;
              if (PropertyChanged != null)
                  PropertyChanged(....);
         }
      }
  }

クラスにDataBingXamlを使用する必要があります。(コンストラクターにある可能性がありますか?)

  public class MyXamlWindow
  {
       public MyXamlWindow()
       {
             this.DataContext = new MyDataContextClass();
       }
   }

上記のすべてを行う方法はたくさんあります

于 2012-06-19T07:12:15.503 に答える