問題タブ [tabitem]

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 投票する
4 に答える
49116 参照

c# - C# WPF で、TabControl の SelectionChanged イベントが頻繁に発生するのはなぜですか?

各タブにフレームが含まれるタブ付きの GUI があります。これらのフレームの 1 つに DataGrid があります。ユーザーがこのタブを選択すると、データグリッドを並べ替える必要があるため、TabControl SelectionChanged イベントを使用して並べ替えをトリガーします。ただし、このイベントは、タブ自体が変更されていない場合でも、DataGrid から項目が選択されるたびにトリガーされます。

私はさまざまなイベントの数を試しました: TabItem の GotFocus、TabItem の RequestBringIntoView

しかし、それらはすべてこの問題に苦しんでいるようです。これは何が原因ですか?

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

swt - 複数行の表ヘッダー/複数行の TabItem テキスト

アプリケーションを Swing から SWT に移行しましたが、SWT で複数行のテーブル ヘッダーを作成する方法と、TabItems で複数行のテキストを作成する方法がわかりません。Swing では問題ありませんでしたが、SWT ではまったく問題ありませんでした。テーブルヘッダーについては、Linuxでは機能していることがわかりましたが、Windowsには必要です。試してみましたが、何も\nあり<br>ません。

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

wpf - WPF:スタイルを使用してTabItemヘッダー内のラベルの前景を設定する

私は次のようなTabControlを持っています:

さて、アイテムが選択されたときに別のテキストの色を使用したいです。その目的のためにスタイルを作成しました:

Label.Foregroundを設定するだけで試しましたが、うまくいかないようです。また、TextBlockで試してみましたが、うまくいきませんでした。

この質問は私のものと似ていると思いますが、問題は最終的には解決されませんでし た。TabItemの前景色を設定すると、TabControlの前景色も設定されます。

助けてくれてありがとう。

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

drag-and-drop - SWT でのドラッグ アンド ドロップ操作中にホバーでタブ項目を選択する

Windows でタスク バー ボタンを使用する場合と同様に、ホバー時のドラッグ アンド ドロップ操作中に SWT タブ フォルダーからタブ項目を選択する必要があります。私のソリューションは、プラットフォームに依存する可能性があります (Windows)。

残念ながら、DND 操作中はマウス トラック イベントは発生しません。ホバーイベントを自分で実装することにしました。dragOver イベントでいくつかのマウス イベントを取得し、ホバー ゾーンの領域がダブル クリック領域と同じであり、GetSystemMetrics を使用して取得できることを知っています。ただし、ホバーの遅延については、レジストリからしか取得できないようです。一部のネイティブ関数を呼び出すことは問題ありませんが、レジストリは少し極端すぎるようです。

ホバー遅延を見つけるための他の解決策、または少なくともいくつかの API はありますか?

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

wpf - WPF TabItem ヘッダーに動的な数値を表示する

すべてのアイテムに Timeline というユーザー コントロールが含まれる TabControl があります。この「Timeline」には、実行時に変化する「Number」というプロパティがあります。

プロパティ「Number」をTabItemヘッダーに表示させたい。そして、正直に言うと、それを行う方法がまったくわかりません。

私の最初の考えは、元の TabItem コントロールから派生したカスタム コントロールを作成し、カスタム ControlTemplate を使用して DependencyProperty または何かを作成する必要があるということです。

なんか説明下手すぎる気がする…

例:次のURLの投稿の3番目の画像のようなことをしたいのですが、閉じるボタンの代わりに、実行時に動的に変化するプロパティ「Number」を表示したいです!

http://geekswithblogs.net/kobush/archive/2007/04/08/closeabletabitem.aspx

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

.net - Silverlight: Adding TabItems to TabControl dynamically with a standard ContentTemplate for all tabs

I would like to add TabItems to a TabControl dynamically with a standard ContentTemplate comprising of a grid and few other input controls like textbox and button. Can someone pls help me achieve this?

Also, if I try to load data from a WCF service asynchronously to the grid, there will definitely be a time lag. So how do I exactly bind the data to the right grid even if the selected tab is different? (Issue here is how do I find the right grid control to bind)

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

wpf - wpfTabControlでTabItemの順序を変更する方法

TabItemの順序を変更する必要があります。

削除/挿入を試しましたが、機能しません。

InvalidOperationException:要素にはすでに論理的な親があります。新しい親にアタッチする前に、古い親からデタッチする必要があります。

これを解決する方法は?

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

wpf - WPF TabControl SelectedItem が変更されたときに新しいビジュアル ツリーにアクセスする方法

選択されたタブがインデックス 1 (中央のタブ) である、3 つのタブを持つ既に読み込まれてレンダリングされた TabControl を検討します。

タブ 1: TextBox が 1 つある

タブ 2: 2 つの TextBox がある

タブ 3: 3 つの TextBox がある

VisualTreeHelper を使用して selectedItem のビジュアル ツリーを反復処理すると、TabControl の子内に 2 つの textBoxes が取得されます。

タブの選択が変更されたときにもう一度繰り返し、新しいタブのコントロールにアクセスしたい。タブ インデックス 2 に切り替えると、VisualTreeHelper を使用して 3 つのテキスト ボックスを見つける必要があります。

通常の解決策は、selection changed イベントをサブスクライブし、ツリーを調べて新しく表示されたコントロールを取得することです。問題は、現時点ではビジュアル ツリーに古いタブが残っているため、この検索の価値がないことです。

新しい TabItem が表示され、検索をトリガーする瞬間を傍受するにはどうすればよいですか?

ContentControl テンプレートの変更または TabControl で選択されたタブの変更によって変更された場合でも、特定の UI のすべての入力コントロールを監視する動的検証エンジンを作成しています...画像が得られることを願っています。

何か案は?

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

wpf - 動的に作成された wpf TabItem でデータをコントロールにバインドする際の問題

wpf TabItem のコントロールにデータを入れるのに問題があります。xaml でいくつかの DataTemplates を定義しました。ここにそれらの1つがあります:

<Window.Resources>
...
<DataTemplate x:Key="memoTab">
<TextBox Name="memoTextBox" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" AcceptsReturn="True" />
</DataTemplate>
...
</Window.Resources>

次に、コード ビハインドで次のように新しいタブを作成します。

TabItem tab = new TabItem();
tab.Header = "Memo";
tab.ContentTemplate = (DataTemplate)FindResource("memoTab");
tab.ApplyTemplate();
System.Windows.Controls.TextBox tb = (System.Windows.Controls.TextBox)tab.Template.FindName("memoTextBox", tab);
if (tb != null) tb.DataContext = memo; //string memo is created earlier as linq query
tabControl.Items.Add(tab); //tabControl is xaml defined

問題は、tb が常に null であるため、テキスト ボックスにデータが表示されないことです (テキスト ボックス自体がタブに表示され、機能します)。

私は xaml を使用して tabControl にタブを作成しません (DataTemplate を使用していない最初のタブを除いて) 実行時にユーザーが追加および削除することを意図しているためです。

何か案は?

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

wpf - TabControl.Items.CurrentChangingをキャンセルする方法はありますか?

残念ながら、TabControl.SelectionChangingイベント(Selector.SelectionChanging)はありません。変更要求をキャンセルできるように、この動作を実装するのに苦労しています。

TabControl.Items.CurrentChangingItemsプロパティis and ItemCollection)イベント設定e.Cancel(of )をtrueに処理しようとしましCurrentChangingEventArgsたが、コレクション内のアイテムは変更されていませんが、UIは新しいタブで更新されます。

TabItem条件が満たされないときにユーザーが別のユーザーに切り替えるのを防ぐ方法はありますか?