私はこれらのテキストボックスにWebサービスからの情報を保持しています。私は情報を収集するクラスを持っており、それを見たいときはうまくいきます。私はTextブロックから集めたい情報をdescとバインディングしていますが、ユーザーがボタンをクリックしない限りテキストボックスが存在しないため、テキストボックスに情報を収集することはできません。そうする方法はありますか?テキストブロックから値を取得する
私が持っているHERESにコード
<ListView x:Name ="View" >
<ListView.ItemTemplate >
<DataTemplate>
<Grid>
<StackPanel>
<TextBlock Text="{Binding title}"></TextBlock>
<TextBlock Text="{Binding location}"></TextBlock>
<TextBlock Text="{Binding date}"></TextBlock>
<TextBlock
x:Name="desc_text"
Text="{Binding desc}"></TextBlock>
<Button
x:Name ="website"
HorizontalAlignment="Right"
FontFamily="Segoe MDL2 Assets"
Content=""
Click="website_Click"></Button>
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
StackPanelのは、時々(私が欲しいものである)異なる情報と、それぞれの場合に、それはあるかもしれません
「テキストブロックから情報を収集している理由」がわかりません。ある種のモデルやビューモデルクラスのインスタンスにテキストプロパティをバインドしているように見えます。なぜそのインスタンスに行かないのですか?シンプルで簡単な作業を非常に苦痛と困難にするためには、あなたは非常に遠く離れています。 UIに情報を格納せず、モデルに格納します。 UIに表示するだけです。 –
@EdPlunkettあなたのコメントに答えると、私はC#とデータバインディングが初めてで、私はそれを試しています。正直言って私はちょうど考えなかったし、おそらく私はそれがどのように機能するのか分からない。私の主な目的は、「ウェブサイト」という名前のボタンをクリックしたときにdesc内のリンクを取得してリンクにリダイレクトすることができる場合です。私が思ったことから、Visual Studioはそれを見つけられなかったので、インスタンスから取得することはできません。なぜなら、ユーザーがボタンを押したときにのみ表示されるのでなければ、技術的に存在しないからです。 –
これらのコントロールはどこから来ていますか? Webサービスから戻ってきたものを正確に表示できますか?私たちはこのMVVMスタイルを練習することができます。あなたは自分自身を苦しませることなくXAMLを使用する方法の基本的な基礎を得るでしょう。あなたのために仕事のほとんどを手に入れるのはとても簡単です。 –