首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScatterView和ViewBox未按预期工作

ScatterView和ViewBox未按预期工作
EN

Stack Overflow用户
提问于 2010-10-27 16:23:38
回答 1查看 453关注 0票数 0

我定义了以下布局:

代码语言:javascript
复制
<Grid Name="RootGrid" Background="{StaticResource WindowBackground}" >
        <s:ScatterView Name="RootScatter">
            <Viewbox>
                <s:LibraryContainer Name="RootContainer" Grid.Row="0" ViewingMode="Bar">
                    <s:LibraryContainer.BarView>
                        <s:BarView Rows="2" NormalizedTransitionSize="2.5,0.8" ItemTemplate="{StaticResource ContainerItemTemplate}">
                        </s:BarView>
                    </s:LibraryContainer.BarView>
                    <s:LibraryContainer.StackView>
                        <s:StackView NormalizedTransitionSize="1,1" ItemTemplate="{StaticResource ContainerItemTemplate}">
                        </s:StackView>
                    </s:LibraryContainer.StackView>
                </s:LibraryContainer>
            </Viewbox>
        </s:ScatterView>
        <s:ScatterView Name="ClassScatter"></s:ScatterView>
    </Grid>
</s:SurfaceWindow>

现在我将向第二个ScatterView动态添加项:

代码语言:javascript
复制
public void expand(SurfaceWindow1 surfaceWindow)
        {
            Logging.Logger.getInstance().log("Expand class " + name);

            if (!isExpanded())
            {
                Viewbox vb = new Viewbox();
                SurfaceTextBox txt = new SurfaceTextBox();
                txt.Text = this.name + "\nLOC: " + this.getLoc() + "\nFanIn: " + this.getFanIn() + "\nFanOut: " + this.getFanOut() + "\nComplexity: " + this.getComplexity();
                txt.IsReadOnly = true;

                vb.Child = txt;
                surfaceWindow.ClassScatter.Items.Add(vb);
                this.setExpanded(true);
            }
        }

这很好用,但不幸的是,我不能改变创建的对象的大小、移动或旋转。有什么线索吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-27 16:47:06

问题是你的TextBox捕捉到了触摸屏,而ScatterView却不能捕捉到它们来拖拽/缩放/旋转TextBox。有两个选项可以解决您的问题:

  1. 如果希望项目可移动,但用户不可编辑,请将SurfaceTextBox替换为常规的TextBlock
  2. 。如果仍希望文本可编辑,请在TextBox中添加一些页边距,以便在元素周围创建一个“拖动区”。例如:txt.Margin = new Thickness(20);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4031183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档