問題タブ [fallbackvalue]

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.

0 投票する
1 に答える
7125 参照

wpf - FallbackValueはMultiBindingでどのように機能しますか?

うまくいかないようですのでお願いします。

次のオブジェクトにバインドしていると仮定します。

これに対してMultiBindingを使用すると、フォールバック値が表示されるように見えますね。

ただし、結果は実際には「から」になります。バインディングを強制的に返すことさえDependencyProperty.UnsetValue機能しません:

TargetNullValueでも同じことを試しましたが、これもずっとバストでした。

したがって、MultiBindingがFallbackValueを使用することは決してないようです。これは本当ですか、それとも私は何かが足りませんか?


もう少しいじってみると、コンバーターが必要なUnsetValueを返すことができることがわかりました。

しかし、これは汚い汚いハックのようです。このようなシナリオは、フレームワークで説明されると思います。しかし、Reflectorには何も見つかりません。

0 投票する
5 に答える
11049 参照

c# - AppSettingsフォールバック/デフォルト値?

ASP.NET

使用するappSettingごとに、指定したキーがappSettingsに見つからない場合に返される値を指定したいと思います。これを管理するクラスを作成しようとしていましたが、この機能はおそらくすでに.NET Frameworkのどこかにあると思いますか?

.NETにNameValueCollection/Hash / etc-typeクラスがあり、キーとフォールバック/デフォルト値を指定して、キーの値または指定された値を返すことができますか?

ある場合は、(さまざまな場所から)呼び出す前に、appSettingsをそのタイプのオブジェクトに入れることができます。

0 投票する
1 に答える
5186 参照

wpf - WPF: ターゲットからソースに値を保存できません

それは私が得る完全なエラーメッセージです:

このエラーは、生徒リストデータグリッドで選択した生徒をクリックまたは選択して、学校のクラスを含むリストボックスに入れると常に発生します。

これは、リポジトリの読み込み方法を Eager ローディングから Lazy ローディングに変更したときに発生し始めました。

SelectedSchoolclass が変更された後、それに応じた生徒をロードします

生徒リストView.xaml:

ここで、ItemSource は、選択された学校のクラスのすべての生徒に設定されます。IsSynchronizedItem は必要ありません。親エンティティの ID を介した新しい遅延読み込みエンティティのため、実際には集計データがないためです。

管理ビューモデル:

問題は次のとおりだと思います。

選択したドキュメントまたは生徒からジャンプして、生徒のいない学校のクラスを選択すると、ObservableCollection が遅延して作成されるため、データベースからデータを取得する場合にのみ、PupilListViewModel_Collection が NULL になるため、NULL にバインドされます。

まあ、私は遅延読み込みに固執したいと思います.DataGrid_ItemsSource=SchoolclassList/PupilListのような階層をバインドする必要はありません.Eager読み込みに使用したものです。

どうすればその例外を取り除くことができますか?

0 投票する
2 に答える
1079 参照

wpf - 常にBindingBase.FallbackValueを使用する必要がありますか?

ご挨拶、

WPFアプリケーションを作成するとき、私は明らかに多くのバインディングを使用します。ただし、通常はFallbackValueプロパティを使用しないことがわかりました。

私の質問は次のとおりです。FallbackValue=""である必要がある場合は、常にフォールバック値イベントを設定する必要がありますか?

FallbackValueを使用する/使用しない場合のメモリ/パフォーマンス/その他への影響は何ですか?

0 投票する
1 に答える
2329 参照

typo3 - TYPO3 / TypoScript: フォールバックを作成するには?

2 つのフォールバックを使用して、レンダリングされた HTML に文字列を出力したいと考えています。

私のタイポスクリプトはトップ レベル ページ (私の Web サイトのルート ページ) で定義され、下位レベルのすべてのページに渡されます。

構造:

  • ホームページ
    • レベル 1 のページ
      • レベル 2 のページ

ファイルの通常の出力:

文字列は TemplaVoila フィールド (ページ / 編集 / 拡張 / マイフィールド) から取得されます: field_copyright_name

HTML 出力の目的のポイントに出力するために、lib.copyright_name という名前の templaVoila マッピング (タイプ: Typoscript オブジェクト パス) が存在します

次のタイポスクリプトがその役割を果たします。

これは、(ページ プロパティの) フィールドが空でないすべてのレベルのすべてのページで機能します。

最初のフォールバック:

フィールドが空の場合 (そのページのプロパティで、たとえばレベル 2 で)、typscript は上のページから値を取得する必要があります (レベル 1 で、それも空の場合はホームページから取得する必要があります)。それを行う方法の手がかりはありません。手伝ってくれますか?

2 番目のフォールバック

最初のフォールバックでも空の文字列が返される場合 (フィールドがすべてのレベルで空だったため)、デフォルト値の "Copyright by me" にフォールバックする必要があります。

「最初のフォールバック」なしでこのフォールバックを有効にするのは簡単です:

しかし、「最初のフォールバック」を統合する方法は?

編集:

私は試した:

また

また

また

しかし、成功しませんでした - 出力はありません。

0 投票する
2 に答える
1727 参照

wpf - WPF アプリケーションを使用したビジュアル スタジオで多くのバインディング エラーが発生しましたか?

アプリのビジュアル スタジオをデバッグすると、次の例のような多くのバインディング エラーが発生します。

なぜこれが起こっているのか知っている人はいますか?また、私の同僚にはこれらのバインディングエラーはありませんが、私と同じバージョンがあります。

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression:Path=PlanningCd; DataItem=null; ターゲット要素は 'TextBlock' (Name='planningSchema') です。ターゲット プロパティは 'NoTarget' (タイプ 'Object') です

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression:Path=PlanningCd; DataItem=null; ターゲット要素は 'TextBlock' (Name='planningSchema') です。ターゲット プロパティは 'Text' (タイプ 'String') です

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression: パス = 測定; DataItem=null; ターゲット要素は 'ItemsControl' (Name='MeasurementAndTimeControl') です。ターゲット プロパティは 'ItemsSource' (タイプ 'IEnumerable') です。

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression: パス = 前景; DataItem=null; ターゲット要素は 'ItemsControl' (Name='MeasurementAndTimeControl') です。ターゲット プロパティは「フォアグラウンド」(タイプ「ブラシ」)

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression:Path=PlanningCd; DataItem=null; ターゲット要素は 'TextBlock' (Name='planningSchema') です。ターゲット プロパティは 'NoTarget' (タイプ 'Object') です

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression:Path=PlanningCd; DataItem=null; ターゲット要素は 'TextBlock' (Name='planningSchema') です。ターゲット プロパティは 'Text' (タイプ 'String') です

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression:Path=OtherParams; DataItem=null; ターゲット要素は 'ItemsControl' (Name='') です。ターゲット プロパティは 'ItemsSource' (タイプ 'IEnumerable') です。

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression: パス = 前景; DataItem=null; ターゲット要素は 'ItemsControl' (Name='') です。ターゲット プロパティは「フォアグラウンド」(タイプ「ブラシ」)

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression:Path=IsSelected; DataItem=null; ターゲット要素は 'ContentPresenter' (Name='') です。ターゲット プロパティは 'NoTarget' (タイプ 'Object') です

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression: パス = 前景; DataItem=null; ターゲット要素は 'Grid' (Name=''); ターゲット プロパティは「フォアグラウンド」(タイプ「ブラシ」)

System.Windows.Data 情報: 10 : バインディングを使用して値を取得できず、有効なフォールバック値が存在しません。代わりにデフォルトを使用します。BindingExpression: パス = 測定; DataItem=null; ターゲット要素は 'ItemsControl' (Name='MeasurementAndTimeControl') です。ターゲット プロパティは 'ItemsSource' (タイプ 'IEnumerable') です。

0 投票する
3 に答える
4797 参照

c# - ソースオブジェクトが指定されたプロパティを持っていない可能性がある場合にバインディングを処理するにはどうすればよいですか?

プロパティが異なる2つのクラスがありますが、どちらも他の基本クラスを継承しています。

コードビハインド:

そして、私のXAMLは次のようになります。

デバッグモードで実行している場合、出力ウィンドウには次のように表示されます。

System.Windows.Data警告:40:BindingExpressionパスエラー:'PropertyB'プロパティが'オブジェクト''' ClassA'(HashCode = 66437409)'に見つかりません。BindingExpression:Path = PropertyB; DataItem ='ClassA'(HashCode = 66437409); ターゲット要素は'TextBlock'(Name ='');です。ターゲットプロパティは「テキスト」(タイプ「文字列」)です

System.Windows.Data警告:40:BindingExpressionパスエラー:'PropertyA'プロパティが'オブジェクト''' ClassB'(HashCode = 2764078)'に見つかりません。BindingExpression:Path = PropertyA; DataItem ='ClassB'(HashCode = 2764078); ターゲット要素は'TextBlock'(Name ='');です。ターゲットプロパティは「テキスト」(タイプ「文字列」)です

このようなバインディングを処理するためのより良い方法はありますか?パフォーマンスに影響はありますか?FallbackValue=''またはFallbackValue={x:Null}を使用する方が良いですか?

0 投票する
1 に答える
850 参照

wpf - IEnumerable Asynchronous のダミー FallbackValue

MVVM プログラム (Josh Smith ベース) のデータバインディング/パフォーマンスの問題をデバッグしようとしています。さまざまなリストやオブジェクトの同時読み込みが多数あるため、パフォーマンスとネットワークのボトルネックを改善するために isAsync といくつかのスレッドを使用しています。

ただし、フォールバック値の ItemsSource バインディングから多くのメッセージが出力されていることに気付きました。コマンドについては、コマンドを無効にするダミー コマンドを作成しました。ほとんどの場合、既知のフォールバック プリミティブ タイプにバインドできます。この問題は、ItemsSource のフォールバックを {x:Null} にバインドすると発生するようです。

注: これは、chartingToolkit コントロールだけでなく、多くの場所で発生しています。


私が持っている質問:

  1. これらのメッセージは気になりますか? 多くのエンド ユーザーが古いマシンを使用しているため (そしてアップグレードを拒否しています -.-)、パフォーマンスを最大化するように努めてきました。
  2. ダミーの基本型を作成して App.xaml から参照しても安全ですか?
  3. これらのリストのほとんどをデータテンプレート化していますが、それが原因ですか?

前もって感謝します。

0 投票する
2 に答える
9753 参照

wpf - MultiBinding内のバインディングのboolフォールバック値の処理

MultiBinding両方のBindingフィールドがtrueと評価されたかどうかに応じて、コントロールの可視性を決定するコンバーターがあります。何らかの理由でこれらのブールプロパティのいずれにも到達できない場合は、trueと評価するように設定します。例えば:

私が現在持っているコードは次のとおりです。

コードは正常に実行されますが、IDEの出力に次のようなエラーメッセージが表示されます。

このコンバーターを特定し、XAMLエラーが発生している場所であることを確認しました。ここでの無知について申し訳ありませんが、設定されたパスの取得に失敗したときに「true」と評価するために、FallbackValueをこれらの各バインディングに設定する方法はありますか?前もって感謝します

アップデート:

これが私のVisibilityConverterのコードです(これはアプリ全体のいくつかの場所で使用していますが、フォールバック値を追加したいだけです):