de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
 Zeus
Zeus
質問

設計時のみの制御、または 'd'名前空間の定義はどこにありますか。

特定のWPFコントロールを[VS 2017]デザイナーにのみ表示する必要がありますが、実行時には表示する必要はありません。 (具体的には、コンポーネントをレイアウトするための背景画像)。

As I learned, the opposite effect (hiding a control at design time) can be achieved using the undocumented d:IsHidden="true" attribute, from the namespaces that are typically included even by default:

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
mc:Ignorable="d"

他の機能があります。 > d:DesignStyle

しかし、 d:Visible のようなもの、あるいはそれに効果のあるものが見つかりませんでした。

それで、特別な 'd'属性を持つのと同じように、デザイン時のみのコンポーネントを持つための単純なメソッドはありますか?私はカスタムのビハインドビハインドを使わないことを望みます。それは少なくとも些細な(しかし厄介な)解決策があるからです:ただコンパイルの前にコンポーネントをコメントアウトするだけです!

理想的には、コンポーネント全体を実行時に無効化または削除して、リソースが消費されないようにする必要があります。

もっと一般的に言えば、 d 名前空間のこれらの「文書化されていない」機能をすべて見つける方法はありますか?

1 2018-08-30T02:39:48+00:00 4
 Lennart
Lennart
編集された質問 30日 8月 2018 в 6:46
プログラミング
wpf
xaml
Erno de Weerd
30日 8月 2018 в 4:39
2018-08-30T04:39:34+00:00
さらに
ソース
編集
#80547584

'd'は魔法でも公式でもありません。これは、それが定義されているxaml/XMLファイルに対してローカルなxml名前空間の別名です。

この行は、問題のコードでdを定義しています。

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

So to find information about 'features' of this namespace there should be a list of all classes that are in this namespace. Most of them are in the Microsoft Expression Blend SDK: https://www.microsoft.com/en-us/download/details.aspx?id=22829

1
0
Erno de Weerd
30日 8月 2018 в 4:39
2018-08-30T04:39:34+00:00
さらに
ソース
編集
#80547585

'd'は魔法でも公式でもありません。これは、それが定義されているxaml/XMLファイルに対してローカルなxml名前空間の別名です。

この行は、問題のコードでdを定義しています。

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

So to find information about 'features' of this namespace there should be a list of all classes that are in this namespace. Most of them are in the Microsoft Expression Blend SDK: https://www.microsoft.com/en-us/download/details.aspx?id=22829

1
0
Jeff R.
30日 8月 2018 в 7:52
2018-08-30T19:52:03+00:00
さらに
ソース
編集
#80547587

InitializeComponent()呼び出しの後に、これをWindowまたはUserControlコンストラクターに入れることができます。

if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) 
{
    myDesignControl.Visibility = Visibility.Collapsed;
}

これを実行すると、実行時にコントロールを再びオンにすることもできます。これは、ツールのデバッグや診断に役立つことがよくあります。

1
0
Jeff R.
30日 8月 2018 в 7:52
2018-08-30T19:52:03+00:00
さらに
ソース
編集
#80547588

InitializeComponent()呼び出しの後に、これをWindowまたはUserControlコンストラクターに入れることができます。

if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) 
{
    myDesignControl.Visibility = Visibility.Collapsed;
}

これを実行すると、実行時にコントロールを再びオンにすることもできます。これは、ツールのデバッグや診断に役立つことがよくあります。

1
0
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Денис Анненский
登録済み 2日前
2
365
登録済み 6日前
3
True Image
登録済み 1週間前
4
archana agarwal
登録済み 1週間前
5
Maxim Zhilyaev
登録済み 1週間前
© de-vraag :年
ソース
stackoverflow.com
ライセンス cc by-sa 3.0 帰属