-3

でタイトル名を表示していTextBlockましたXAMLMessageBoxボタンがクリックされたときにこれを表示したい。しかし、私はこれを行うにはどうすればよいですか?どんなアイデアでも大歓迎です。前もって感謝します。

コード:

<TextBlock 
Text="{Binding TitleName}" 
FontWeight="Thin" FontSize="28" 
Grid.Column="1" Grid.Row="1"
VerticalAlignment="Top" Margin="-36, 0, 0, 0"/>

メッセージボックスの更新 提供: Rakesh R Nair

MessageBox.Show("Body of your message", AppDataContext.TitleName, MessageBoxButton.OK); 

私はモデルを持っていて、そのクラスにAppDataContext.cs持っています。public string Password

4

2 に答える 2

1

興味深い質問です. メッセージ ボックスにタイトル名を設定するだけです. このように

MessageBox.Show("Body of your message", YourObject.TitleName, MessageBoxButton.OK)); 

TitleName を設定している場所に関係なく。

于 2013-09-06T09:22:04.583 に答える
0

そのプロパティを使用するには、おそらく DataContext (IIRC はオブジェクト型です) を実際のオブジェクト型にキャストする必要があります。

var myBoundObject = DataContext as MyObjectType;
MessageBox.Show("Body of your message", myBoundObject.TitleName, MessageBoxButton.OK); 

DataContext (つまり ) から直接プロパティにアクセスしようとするDataContext.TitleNameと失敗します。

注: これは、バインドされたオブジェクトのインスタンスがまだコード内にないことを前提としています。これは、MVVM Light や ViewModelLocator などを使用している場合に発生する可能性があります。既に参照がある場合は、DataContext オブジェクトをキャストする必要はなく、単純に次のデータにアクセスできます。myExistingObject.TitleName

于 2013-09-06T10:08:58.693 に答える