問題タブ [visualstatemanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
silverlight - MVVMvisualstatemanagerとフォーカス
Silverlight4を使用します。
コントロールには2つの視覚的な状態があります。状態が変化したときに、フォーカスをあるテキストボックスから別のテキストボックスに変更したいと思います。
MVVMを使用してこれを行うための最良の方法は何ですか?
私はそれまたは振る舞いをするためにvisualstatemanagerを使用することを望んでいました...しかし私は方法を理解していません。
silverlight - XAML 定義の Visual States で Storyboard リソースを参照できますか?
独自の Visual State Manager を持つ 6 つの異なるオブジェクトがあります。各オブジェクトの Focused 状態は同じです。単一の Focused State Storyboard リソースを定義し、6 つの Focus Visual 状態のそれぞれでそれを参照したいと考えています。これはできますか?これが私のコードです(すべて同じUserControl.Resourcesにあります):
私の6つのオブジェクトのそれぞれに、次のものがあります。
プロジェクトを実行すると、次のエラーが表示されます。
メッセージ: 属性 {StaticResource FocusedState} の値が範囲外です。
silverlight - Silverlight での VisualState の継承
から継承しRadioButton
、画像を表示してデフォルトの円を非表示にする以上のことをしないコントロールを作成しています。
私が知ることができなかった 1 つのことはVisualStates
、ControlTemplate ですべてを再実装する必要があるかどうか、または単純にそれらを空の要素として配置して継承できるかどうかです。
私の XAML は以下にあり、元の RadioButton は MSDN にあります。
wpf - アニメーション付きのMVVM(VisualStateManagerを使用する必要がありますか?)
リソースセクションに次のセットが含まれるView.xamlがあります。
View.xamlのコンテンツには、次のものがあります。
SelectedMyViewModelが変更されたら、アニメーションを作成して、現在のビューがフェードアウトし、新しいビューがフェードインするようにします...
どういうわけか、これはVisualStateManagerを介して可能になるはずだと思いますが、その方法がわかりません。
これはWPF4.0プロジェクトです...
wpf - WPF: VisualStateManager が機能しない
VisualStateManager の仕組みを理解しようとしていますが、できません。
私はこれをしたい: ユーザーが自分の名前、住所などを入力できる TextBoxes がいくつかあり、検証を行っていますが、XAML の validationrules-binding でそれを行いたくありませんでした。私はMVVMパターンを使用していますが、ビューモデルのいくつかのコードがそれを行います。したがって、テキストボックスのテキストを、ビューモデルが検証した文字列にバインドしています。そこには、それが正しいかどうかを示すブール変数があります。
私のXAML:
ユーザーのフォーカスがテキストボックスから離れると、次のイベントが発生します。
イベントが発生し、正しい GoToState-Method に移動しますが、試してみましたが、状態は変更されません。何も起こりません。
ExtendedVisualStateManager.GoToElementState(this.Border1 as FrameworkElement, "NameValid", false);も試しました。
私はここでそれが役立つと読んだので、それはそれとまったく同じです...
私は何を間違えましたか??
wpf - WPF でデータ バインドされた列挙型から Visual State を設定する
こんにちは、4 つの異なるコンテンツ コントロールの表示を切り替えたいシナリオがあります。不透明度を設定し、指定された各状態に基づいて折りたたまれた視覚状態 (コードを参照)。私がやりたいのは、視覚状態を Enum 型のビュー モデルのプロパティにバインドすることです。DataStateBehavior を使用してみましたが、true/false が必要で、うまくいきません。だから私は DataStateSwitchBehavior を試しましたが、これは私が知る限り、WPF4 では完全に壊れているようです。これを行うためのより良い方法はありますか?必要に応じて、さまざまなアプローチを受け入れますが、この列挙型を方程式に入れておきたいと思います。
編集:
コードはあまり重要ではありません。この問題に対するよく知られた解決策があるかどうかを知りたいだけです。
silverlight - タイマーイベントに基づいてBlend 4 VisualStateManagerで状態を回転させますか?
3 つの VisualStates を持つ Blend で Silverlight 4 UserControl を構築しています。
数秒遅れて最初の状態から 2 番目の状態に、さらに数秒後に 2 番目の状態から 3 番目の状態に、さらに遅れて 3 番目の状態から最初の状態に変化し、そのように回転し続けたいと思います。
基本的に、これは非常に原始的な「広告ローテーター」であり、私が構築しているプロトタイプにいくつかの静止画像を使用しています。
Blendを使用してこれを行うことは可能ですか? もしそうなら、どのように?TimerTriggers と ActivateStateAction ビヘイビアーを使用して最初の完全なローテーションを作成することはできますが、タイマーをリセットする方法や、別のアプローチがうまく機能するかどうかはわかりません。
silverlight - 別の VisualStateGroup でのアニメーションのトリガー
VisualStateGroup
私が理解していない sについての基本的なことがあります。私が読んだすべてのことから、それらが直交していると信じるようになりました。つまり、あるグループの状態が変化しても、他のグループには影響しません。実際、そうでないと意味がありません。
ただし、私が遭遇したいくつかの奇妙な動作を理解しようとして、あるグループの状態変化が別のグループのアニメーションをトリガーできることを示す簡単な例をまとめました。私はこれがどのようにできるかを理解しようとしています。
私が望むのは、たとえば、フォーカスがあるかどうか、またはマウスがその上にあるかどうかに関係なく、ToggleButton
トグル ( ) されたときに 1 つの外観を持つベースのコントロールだけです。IsChecked == true
まず、カスタム グループ内のカスタム状態間を遷移する非常に単純なコントロールがあります。
次に、現在の状態に基づいて背景色を変更するこのコントロールのテンプレートがあります。
ほとんどの場合は機能しますが、コントロールがフォーカスを失うと、通常の状態に戻ります。
コントロールでフォーカスの変更を明示的に処理し、状態の更新を実行することで、これを回避できます。
しかし、なぜ私がこれをしなければならないのか、私には意味がありません。
1 つの状態が変化するとVisualStateGroup
、別のアニメーションで定義されたアニメーションが実行されるのはなぜですか? そして、私が述べた目標を達成するための最も簡単で最も正しい方法は何ですか?
ありがとう
silverlight - 特定の視覚的状態で費やされる最小時間を課す
コントロールが最小限の時間、特定の状態のままであることを確認したいと考えています。コントロールには と の 2 つの状態がLoading
ありLoaded
ます。Loading
状態はアニメーションを表示し、状態Loaded
はデータを表示します。2 つの状態の間にフェードイン/フェードアウト遷移があります。
ただし、問題は、データの読み込みが速すぎて、アニメーションが画面上で一瞬フリックアップし、すぐにフェードアウトする場合があることです。これは見栄えが悪いので、私がやりたいことは、Loading
状態で費やされる最小時間 (0.5 秒など) を強制することです。そうすれば、データがすばやく読み込まれる場合でも、読み込みアニメーションは少なくとも十分長く表示されるので、不快な効果はありません。
私はVisualStateManager
想像力でMinimumTimeVisualStateManager
. ただし、この追加のコードを必要とせずに、目的を達成するための組み込みの方法があるかどうか疑問に思っています。
ありがとう
silverlight - VisualState で Silverlight リソースを変更する
異なる VisualState 間でコントロールのある種の共有リソース (つまり、ブラシ) を変更する簡単な方法があるかどうか疑問に思っています。たとえば、Brush を定義して、Border の Background と別の Rectangle の Fill の両方として使用したいと考えています。別の VisualState で、この背景ブラシを 1 か所 (リソース) で変更し、リソースを使用するすべての要素に反映させたいと考えています。
VisualState の Storyboard の TargetName の名前 (キーではなく) でリソースを参照できるかどうかはわかりません。
XAML でやろうとしていることの簡単な例を次に示します。
これらはSilverlightのStaticResourcesであるため、一度しかロードされず、変更できないと感じています。私は、WPF に DynamicResources の概念があることを知っています。すべての要素でブラシを再定義することなく、Silverlight でこの種の動作を実現する方法はありますか?