2

私のアクティビティの中には、ユーザーがデザイナーを折りたたんだときにタイトル バーを表示するだけで完全に折りたたむことを好むものがあります。デフォルトでは、折りたたみ可能なデザイナーの標準的な方法(ShowExpanded で datatrigger を使用) を使用している場合でも、タイトル バーの下に空の白い四角形が表示されます (少なくとも .NET 4.0.3 を使用する Win7 では)。

スクリーンショット

タイトルの下にボックスを表示せに、上記の Delay アクティビティと同じように表示したいと思います。

この迷惑な白いボックスは、リソースWorkflowElementDesignerDefaultTemplateで定義されているデフォルト テンプレートが原因であると思われます。このテンプレートには、Margin="7" の ContentPresenter があります。

                <ContentPresenter  x:Uid="ContentPresenter_1" Margin="7" Content="{Binding Path=Content, RelativeSource={RelativeSource AncestorType={x:Type swd:WorkflowViewElement}}}" Grid.Row="1">
                <ContentPresenter.Style>
                    <Style x:Uid="Style_10">
                        <Setter x:Uid="Setter_204" Property="ContentPresenter.Visibility" Value="Visible" />
                        <Style.Triggers>
                            <DataTrigger x:Uid="DataTrigger_237" Binding="{Binding Path=Content, RelativeSource={RelativeSource AncestorType={x:Type swd:WorkflowViewElement}}}" Value="{x:Null}">
                                <Setter x:Uid="Setter_213" Property="ContentPresenter.Visibility" Value="Collapsed" />
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </ContentPresenter.Style>
            </ContentPresenter>

そのため、アクティビティ デザイナー XAML で定義した含まれるものが完全に折りたたまれても、この 7 のマージンは引き続き表示されます。

それを回避する方法はありますか?デザイナーが折りたたまれた状態で表示される場合、マージンを 0 に設定します (または、デフォルト テンプレートから含まれる ContentPresenter に対して Visibility=Collapsed をトリガーすることをお勧めします)。

(あまり混乱していないことを願っていますか?)

4

1 に答える 1