0
我有一个页面(Telerik的:RadPage)含有少量网格和一些嵌套控件,我想知道我怎么能:Silverlight的:制作一个网格单元始终可见,即使在滚动
具有特定的细胞中的一个即使在滚动期间,网格也始终可见。我甚至不确定这是否可能,但我想要看到的一个细胞是我正在展示的第一个细胞。
任何帮助表示赞赏,并欢迎所有建议。
谢谢!
我有一个页面(Telerik的:RadPage)含有少量网格和一些嵌套控件,我想知道我怎么能:Silverlight的:制作一个网格单元始终可见,即使在滚动
具有特定的细胞中的一个即使在滚动期间,网格也始终可见。我甚至不确定这是否可能,但我想要看到的一个细胞是我正在展示的第一个细胞。
任何帮助表示赞赏,并欢迎所有建议。
谢谢!
我没有使用Rad控件的经验,但是如果你想有一些不可滚动的东西 - 将它移出ScrollViewer。这是一般原则。
我在这里给出三种可能的方法,但越来越复杂,但我希望他们至少能帮助你。
1.重复第一元件和显示它上面ScrollViewer
:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<ListBox>
<TextBlock Text="First element"/>
<TextBlock Text="Second element"/>
<TextBlock Text="Third element"/>
<TextBlock Text="Forth element"/>
<TextBlock Text="Fifth element"/>
</ListBox>
<!-- Overlay -->
<Border Background="White" VerticalAlignment="Top">
<TextBlock Text="Overlay text. Should be a duplicate of the First Element"
Margin="3, 0"/>
</Border>
</Grid>
</Page>
这种方法有缺点的赃物。从复制本身开始,以焦点/键盘管理结束。
2.除第一个元素之外的所有元素都进入列表。第一个元素是一个独立的控制:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- First Element -->
<TextBlock Text="First element"
Grid.Row="0"
Margin="4, 0"/>
<!-- List Element -->
<ListBox Grid.Row="1" BorderThickness="0">
<TextBlock Text="Second element"/>
<TextBlock Text="Third element"/>
<TextBlock Text="Forth element"/>
<TextBlock Text="Fifth element"/>
</ListBox>
</Grid>
</Page>
编写自定义的控制。
这里我没有提到Adorners,因为它们看起来像方法#1的高级版本。虽然结合最后一种方法,他们可能会导致相当不错的解决方案...
我移动scrollviewer中不想滚动视图的一个元素,但我的应用程序的结构方式不工作预期。 我们有一个常见的telerik:RadFrame,我们在这里显示我们所有的页面,并在这个父/容器的radframe中添加了一个scrollviewer。所以默认情况下,我们所有的页面都滚动。 在这种特殊情况下,我想知道我是否可以禁用scrollviewer并为其中一个页面编写一个。 这可能是可能的,但在这一点上不确定。 感谢您的回复! – VoodooChild 2010-03-14 01:59:06