2

对于我的一些活动,我希望它完全折叠,以便在用户折叠其设计器时仅显示标题栏。默认情况下,如果您使用可折叠设计器的标准方式(在 ShowExpanded 上使用 datatrigger),您仍然会在标题栏下方看到一个空白矩形 - 至少在带有 .NET 4.0.3 的 Win7 上

截屏

我希望它像上面显示的延迟活动一样显示,标题下方没有任何框。

在我看来,这个烦人的白框是由资源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

0

从您的片段中,我无法确切地说出您在做什么。

无论如何,检查这个设计师。

基本上你必须有两个<DataTemplate>,一个用于折叠模式,另一个用于展开模式。我猜该链接的示例是不言自明的。

于 2013-04-12T13:48:58.390 回答