0
XAMLを使用して次の要件を実装するにはどうすればよいですか?WPF - ObservableCollectionの1つの交互項目を表示する
要件
では、それが次の要件を発表「ティッカー」を表示するにGUIを開発したいと思います:
- のviewmodelは発表のリストが含まれています。
- 一度に1つのアナウンスのみを表示する必要があります。
- n秒の後にアナウンステキストを次のものに置き換えてください。
- 最後にサイクルが最初の項目から再び開始されます。
- テキスト自体が連続的に移動(スクロール)したり、アニメーション化されたりしてはいけません。
- 次のアナウンスに切り替えるとき、わずかなアニメーションでトランジションを視覚化するのが理想的です。
簡体ViewModelに
class Announcement
{
public string Title { get; set; }
}
class HomeViewModel
{
public ObservableCollection<Announcement> Announcements {get;}
}
考慮オプション1:
- のViewModelで別のプロパティを追加するには、次のViewModelにハード は、私は、次の実装オプションを検討し私は、このプロパティは、冗長考慮し、既存のコレクションを再利用し、これがあるとして、XAMLで直接遷移を定義したいと思いますしかし、このプロパティ
に直接のTextBlockをバインドタイマー
*ビュー*モデルと呼ばれる理由について考えてみましょう。 – Clemens
公平な点ですので、最初のアプローチには、viewModelの新しいPropertyを追加して更新することをお勧めします。この場合、OnPropertyChangedイベントによってトリガされたXamlでアニメーションをどのように実装できますか? – rstdev
Binding.TargetUpdatedイベントでEventTriggerを使用できます。 –