問題タブ [xname]

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 に答える
1001 参照

.net - XNamespace + XName : タイプ 'XName' はタイプ 'string' と互換性がありません

私は F# を学んでおり、単純な XML パーサーを作成しようとしています。C# では、+ 演算子を使用して名前空間と名前を簡単に組み合わせることができますが、F# ではできません。以下のコードの最後の行で次のエラーが発生します。

これがコードです。コンパイラは「ns + d」を好みません。

なぜ私はこれを見ているのですか?ありがとう!

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

c# - XML の子要素のセカンダリ xmlns

xml ファイルを作成し、名前空間をルート ノードに追加しようとしています。

ただし、これを行うと、XDocument の子ノードである次のノードに空の名前空間が追加されますか?

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

c# - レコード構造 (動的な列と行) を使用した双方向の DataGrid バインディング

にバインドしようとしているレコード構造がありDataGridます。基本的に、私の列はビューモデルによって動的に指定されます。グリッド セルに表示 (および編集) する値は、各レコード (グリッドの各行の背後にあるビュー モデル) で関数を使用して取得する必要があります。

私はこの質問を見て、そこにたどり着きました。残念ながら、DynamicObjectレコードのプロパティは名前空間の名前であり、文字列で表すことができないため、a を使用できません。この名前空間の名前をバインド可能な文字列に変換する (すべての不正な文字をアンダースコアに置き換える) バリエーションを試してみましたが、ナビゲートするたびにDynamicObjectが呼び出されるようです(つまり、スクロールするたびにすべてのセルに対して関数が呼び出されます)。 . そのパフォーマンスは十分ではないでしょう。TryGetMemberDataGrid

これは、データを表示するために機能するこれまでのところです(つまりGetValue):

上記のコードは、値の表示に関しては機能します。ただし、値を編集しようとするとすぐに例外が発生します。

ConvertBack上記のコンバーターでも、ソースを同じままにしたいので、関数に何を書き込むかわからないため、これは理にかなっています (バインドしていて、データを更新する関数をIRecord既に呼び出しているため)。IRecord.SetValueただし、パスなしで双方向バインディングができたとしてもConvertBack、参考にならないようです。IRecord

私が見逃している些細なことはありますか?カスタム コントロールの開発に反対ではありませんが、問題へのアプローチ方法に関するヒントやアイデアが欲しいです。

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

c# - C# で複数のコントロール/要素をループダウンする (ストア アプリ)

ループしてプロパティを設定したい複数の画像があります。

xaml からのスニペット。名前が続いているのがわかります: Life1、Life2、...

私が欲しいのは、それらをループしてプロパティを設定する方法です。

「Life」のベース名に int i の値を追加して、画像の 1 つとして解釈するにはどうすればよいですか?

前もって感謝します!

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

c# - x:Name を使用せずにカスタム コントロールでパブリック メソッドを使用する方法

パブリック メソッド Start() を持つカスタム コントロール MyControl があります。

MainWindow に、x:Name="myControl" で MyControl を 1 つ配置します。

MainWindow の Start メソッドでは、x:Name を使用して MyControl の Start メソッドを呼び出します。

x:Name を使用せずに同じことを行うにはどうすればよいですか?

私の場合、MyControl の Loaded イベントは効果がないことに注意してください。MyControl の Start() メソッドは、視覚要素として読み込まれる前に呼び出す必要があるためです。

Int 引数 idNumber を MainWindow の Start メソッドに設定する必要があるため、MyControl のコンストラクター内または初期化時に Start を呼び出すことも無効です。

さらに、セッターとゲッターの両方に対して、MyControl の _idNumber と MainWindow の _myContolId の両方を非公開にする必要があります。

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

c# - x:XAML WPF の名前 - Visual Studio Community 2017 BUG

Visual Studio Community 2015 を使用しましたが、問題はありませんでした。2017年にアップデートしたので...うーん...いくつか問題があります...

新しいオブジェクトを WPF のグリッドにドロップすると...デフォルト名はありません...プロパティ ウィンドウと XAML コードの両方で...ほとんどの場合、XAML コードを使用してアプリケーションを設計します。プロパティ ウィンドウは使用しません。新しいオブジェクトごとに x:Name = "Button"、"TextBox" などと入力するのは非常に面倒です...

さらに悪いことに... Visual Studio は彼が望むように動作します... ある日これがデフォルトになり、2 日目は手動で作成する必要があります。2015 年には、これが常にデフォルトでした。何かを調整する必要があるのか​​、それとも本当にバグなのか、似たような経験をした人はいますか?