2009-09-02 3 views
3

私はブレンド3でいくつかのUserControlクラスを設計しようとしています。実行時に作成されたときにそれらの部分が「折りたたまれて」いるようにしたいが、いつでもコードを練習することなくコンポーネントの部品を編集できるようにしたいビルド。Expression Blendのデザイン時に固有のビジュアルは可能ですか?

次の例のように、サンプルのデータソースで動作します。しかし、それは他のプロパティで動作するようには見えません...または何か間違っているのですか?私たちは、Expression Blendの中でこれを行うことができ、サンプルデータソースSDS_AIVertexAction

<UserControl 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
xmlns:local="clr-namespace:WpfApplication1" 
mc:Ignorable="d" 
...> 


<Grid x:Name="LayoutRoot" 
    d:DataContext="{Binding Source={StaticResource SDS_AIVertexAction}}" > 
    ... 
</Grid> 

しかし、これを行うことは可能ではないようです。

<Label Content="{Binding Name}" Visibility="Collapsed" d:Visibility="Visible" /> 

私は "読み込まれた"可視性を変えることができることを実現するが、私はこのような制御を行うたびにすべてのguffをタイプしないであろう。誰かが私たちにこれをさせる秘密を知っていますか?

答えて

0

まあ、ここに推測します。

d:名前空間は、設計時に尊重されるが実行時に無視されるもの用です。だから私たちは、ランタイムのために設定された可視性をオーバーライドするd:名前空間内に何らかの形で可視性を設定したいと考えています。

インラインスタイルグローバルまたはStaticResourceを介して設定されたスタイルを上書きので、私はこれを行うことをお勧めしたい(メモリからを - ちょうどコピードントして貼り付け、コンセプトを理解する):

<UserControl.Resources> 
    <Style x:Key="invisible" TargetType="Label"> 
    <Setter Property="Visibility" Value="Collapsed"/> 
    </Style> 
</UserControl.Resources> 
<!-- ... --> 
<Label Style="{StaticResource invisible}" d:Visibility="Visible" /> 
+0

それはdoesnのd:Visibility属性には何かの点があるように見えます。これは、私があまり詳しく説明していないもののように、デザイナーが無視しているからです。 Visibilityがデザイナの名前空間にないと思われます。あなたがそれを使うときに不平を言わずに。 私は状態を使用しましたが、実際には必要はありません。 –

+2

作業コードで自分の質問に答える必要があります。 – Will