0

私のXAMLにはコードがあります

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <StackPanel>
        <TextBlock Height="30" Name="tb1" Text="{Binding meetingX}" />
    </StackPanel>
</Grid>

.xaml.csには、上記の.xamlが含まれています。

    public static Meeting theMeeting;
    public string meetingX;

    public MeetingOverview()
    {
        InitializeComponent();
        theMeeting = (Meeting)App.meetings.ElementAt(App.selectedMeetingIndex);
        meetingX = theMeeting.MeetingName.ToString();
    }

    public string MeetingX
    {
        get
        {
            return meetingX;
        }
        set
        {
            if (value != meetingX)
            {
                Debug.WriteLine("set meetingXto: " + value.ToString()); 
                meetingX= value;
            }
        }
    }

テキストは空白で表示されるため、meetingXの値を読み取っていません。Debug.WriteLineを追加して、変数内にテキストが含まれていることを確認しました。

誰かが私が意図したことを機能させる方法についていくつかのヒントを教えてもらえますか?

どうもありがとう、-コード

4

2 に答える 2

1

プロパティにのみバインドできます。

Text="{Binding meetingX}" <!-- --> Text="{Binding MeetingX}"

ビューのDataContextを設定する必要があります。

public MeetingOverview()
    {
        theMeeting = (Meeting)App.meetings.ElementAt(App.selectedMeetingIndex);
        meetingX = theMeeting.MeetingName.ToString();
        this.DataContext = this;
        InitializeComponent();        
    }

値を変更する場合は、クラスにINotifyPropertyChangedを実装する必要があります。また、MVVMも確認する必要があります。そのような情報は、ViewModelに配置する必要があるためです。

これらの主題は両方ともウェブ全体で広範囲にブログされているので、私はあなたの内側のグーグルサーチャーを信頼しています;)

お役に立てれば、

バブ。

于 2012-04-23T14:51:28.690 に答える
0

プロパティをDependencyPropertyに変換します:

public String MeetingX
{
  get { return (String)this.GetValue(MeetingXProperty); }
  set { this.SetValue(MeetingXProperty, value); } 
}

public static readonly DependencyProperty MeetingXProperty = DependencyProperty.Register(
    "MeetingX", typeof(String), typeof(MeetingOverview),new PropertyMetadata(""));
于 2012-04-23T14:58:50.750 に答える