0
我正在使用DataGrid
來顯示一些信息。如何製作帶註釋的滾動條?
我想有這個DataGrid
(突出的線條,就像在VS)
我有這個ControlTemplate
在我的App.xaml一個註釋ScrollBar
。作爲示例,我在「AnnotationCanvas」中添加了一個矩形,但想法是自動填充此畫布。
但是,我無法獲得對此畫布的參考。
我試過dataGrid.FindName("AnnotationCanvas")
和dataGrid.FindResource("AnnotationCanvas")
,但沒有成功。
我該怎麼做?提前致謝。
<ControlTemplate x:Key="VerticalScrollBar" TargetType="{x:Type ScrollBar}">
<Grid x:Name="grid">
<Grid.RowDefinitions>
<RowDefinition MaxHeight="18" />
<RowDefinition Height="0.00001*" />
<RowDefinition MaxHeight="18" />
</Grid.RowDefinitions>
<Border Grid.RowSpan="3"
CornerRadius="2"
Background="#F0F0F0" />
<Canvas x:Name="AnnotationCanvas"
Grid.Row="1">
<!--ANNOTATIONS GO HERE-->
<Rectangle Width="3"
Height="30"
Fill="Red" />
</Canvas>
<RepeatButton Grid.Row="0"
Style="{StaticResource ScrollBarLineButton}"
Height="18"
Command="ScrollBar.LineUpCommand"
Content="M 0 4 L 8 4 L 4 0 Z" />
<Track Name="PART_Track"
Grid.Row="1"
IsDirectionReversed="true">
<Track.DecreaseRepeatButton>
<RepeatButton Style="{StaticResource ScrollBarPageButton}"
Command="ScrollBar.PageUpCommand" />
</Track.DecreaseRepeatButton>
<Track.Thumb>
<Thumb Style="{StaticResource ScrollBarThumb}"
Margin="1,0,1,0"
Background="{StaticResource HorizontalNormalBrush}"
BorderBrush="{StaticResource HorizontalNormalBorderBrush}" />
</Track.Thumb>
<Track.IncreaseRepeatButton>
<RepeatButton Style="{StaticResource ScrollBarPageButton}"
Command="ScrollBar.PageDownCommand" />
</Track.IncreaseRepeatButton>
</Track>
<RepeatButton Grid.Row="3"
Style="{StaticResource ScrollBarLineButton}"
Height="18"
Command="ScrollBar.LineDownCommand"
Content="M 0 0 L 4 4 L 8 0 Z" />
</Grid>
</ControlTemplate>
我刪除的代碼片段標記,因爲你的例子不是Web的代碼片段,而是一個簡單的XAML標記。 – dymanoid
http://stackoverflow.com/questions/8126700/how-do-i-access-an-element-of-a-control-template-from-within-code-behind – ASh
我看到了這個答案,但dataGrid.Template .FindName(「AnnotationCanvas」,dataGrid)爲我返回null –