親コンテナの可視性を設定するには、それに含まれる各コントロールの可視性をチェックします。含まれているコントロールが表示されていない場合、親コンテナは非表示になります。私は、コンテナに含まれるコントロールのそれぞれをハードコーディングすることでこれを行う方法を知っています。しかし、私はコンテナがコードの背後に含まれている各コントロールの名前を入力せずに、このチェックを実行したいと思います。コード内でこれを行う方法はありますか?私はマルチデータトリガーを探しているわけではありません。親コンテナの可視性を設定する
0
A
答えて
2
ちょうど私があなたに行く必要があるだろう期待したい子コントロールを通して反復性と視認性
Winフォームのバージョン
var isParentVisible = false;
foreach(Control child in ParentContainer.Controls)
{
isParentVisible = child.IsVisible;
if(isParentVisible)
break;
}
WPF版
var isParentVisible = false;
foreach (var child in LogicalTreeHelper.GetChildren(ParentContainer))
{
if (!(child is UIElement)) {
continue;
}
isParentVisible = child.IsVisible;
if(isParentVisible)
break;
}
+1
私が正しく覚えていれば、それは最初のレベルの子供しか得られません。それがあなたのために働くならば、素晴らしい!しかし、そうでない場合は、すべての子どもの子を繰り返し処理するために再帰を使用する必要があります。例を探しているなら、私は[このヘルパーライブラリのセット](https://rachel53461.wordpress.com/2011/10/09/navigating-wpfs-visual-tree/)と書いてあります。正しい方向に。可視性をチェックするのではなく、特定のタイプの親オブジェクトまたは子オブジェクトを見つけるためのものですが、概念は同じです。 – Rachel
+0
あなたは正しいです!しかし、私は質問には子どもの話がなかったと思う – SirH
関連する問題
- 1. 可視性をListViewItemに設定する
- 2. 任意の親のバインディング可視性親
- 3. 可視性と非表示の設定
- 4. エクセルクラッシュ設定ワークシートの可視性
- 5. 設定可視性が再び
- 6. カスタムクラスを使用したコントロールの可視性を設定する
- 7. destroyviewのView.GONEにビューの可視性を設定する
- 8. テーブルの行の可視性を確認して設定する
- 9. Android:リストビューの画像の可視性を設定する
- 10. gridview要素の可視性を設定する
- 11. jQueryで要素の可視性を設定する
- 12. SVG可視性アニメーションのkeyTimesを設定する
- 13. imagepagerと線形レイアウトの可視性を設定する方法
- 14. レポートの印刷時に可視性を設定する
- 15. 可視性を設定するjQuery .hide()と同等です:hidden
- 16. SSRSで可視性式を設定する方法は?
- 17. 特定のメンバに特定のクラスタの可視性を設定する方法
- 18. MVVMを使用して親コンテナの可視性を変更するTextBox.Textを変更します。
- 19. バインディングによる要素の可視性の設定
- 20. トリガーで視認性を設定する
- 21. グループ要素のExpandableListViewに可視性を設定したい
- 22. はScrollViewの可視性を設定できません
- 23. QLineEdit可視幅の設定?
- 24. PageLoadでの可視設定
- 25. Androidビュー:可視性を設定する前に視認性をチェックしてパフォーマンスを改善できますか?
- 26. 設定他のクラスのjButtonの可視性
- 27. WPFの設定DataGridTextColumn別の要素に基づく可視性
- 28. MVC3のテキストボックスの可視性設定剃刀ビューエンジン
- 29. ホストからのコンテナのtcp接続の可視性
- 30. コントロールの可視性を設定するのはUpdatePanelですLoadイベント
を設定あなたが 'IsVisible'プロパティにバインドしておらず、結果に対して論理を実行していれば、その1つで長い旅ができます。あなたが望むなら、あなたは依存ツリー全体を歩くことができます。これは出発点です:http://www.hardcodet.net/2008/02/find-wpf-parent。あなたはそれを他の方向に進むために再加工して、すべての子供が集合的な可視性を見つけるようにすることができます。 –