3

私はSilverLight4に比較的慣れていないので、TreeViewコントロールの動作に問題があります。

TreeView内で垂直方向にスクロールできるようにしたいのですが、スクロールはアイテムの上にマウスを置いたときにのみ機能します。スクロールバーが表示され、完全に機能しますが、マウスがTreeView内にあるが、TreeViewアイテム上にない場合、TreeViewはスクロールしません。これを修正する方法はありますか?または、誰かが無料または独自のコントロールを知っているなら、私は喜んで知っているでしょう。

注:TreeViewをScrollingViewer内に配置することは機能しますが、TreeViewのスタイルを台無しにします。また、可能であればScrollViewerは使用したくありません。

ありがとう

誰かが試してみたい場合のコードは次のとおりです。

<UserControl x:Class="TreeViewScrollingTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400"xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">

<Grid x:Name="LayoutRoot" Background="White">
    <sdk:TreeView x:Name="treeView1" Height="200">
        <sdk:TreeViewItem Header="Header 001">
            <TextBlock>Test 001</TextBlock>
        </sdk:TreeViewItem>
        <sdk:TreeViewItem  Header="Header 002">
            <TextBlock>Test 002</TextBlock>
        </sdk:TreeViewItem>
        <sdk:TreeViewItem  Header="Header 003">
            <TextBlock>Test 003</TextBlock>
        </sdk:TreeViewItem>
        <sdk:TreeViewItem  Header="Header 004">
            <TextBlock>Test 004</TextBlock>
        </sdk:TreeViewItem>
        <sdk:TreeViewItem  Header="Header 005">
            <TextBlock>Test 005</TextBlock>
        </sdk:TreeViewItem>
        <sdk:TreeViewItem  Header="Header 006">
            <TextBlock>Test 006</TextBlock>
        </sdk:TreeViewItem>
        <sdk:TreeViewItem  Header="Header 007">
            <TextBlock>Test 007</TextBlock>
        </sdk:TreeViewItem>
        <sdk:TreeViewItem  Header="Header 008">
            <TextBlock>Test 008</TextBlock>
        </sdk:TreeViewItem>
        <sdk:TreeViewItem  Header="Header 009">
            <TextBlock>Test 009</TextBlock>
        </sdk:TreeViewItem>
        <sdk:TreeViewItem  Header="Header 010">
            <TextBlock>Test 010</TextBlock>
        </sdk:TreeViewItem>
    </sdk:TreeView>
</Grid>
</UserControl>
4

2 に答える 2

0

Lee Campbellのブログ投稿からのヒントを使用する:http://leecampbell.blogspot.ch/2009/01/horizo​​ntal -stretch-on-treeviewitems.html

デフォルトの列定義を変更したところ、TreeViewItemsは少なくともTreeViewの幅全体に正確に伸びます。TreeViewコントロールが、マウスカーソルがTreeViewItemsの上にあることを認識したため、スクロールの問題も解消されました。

于 2012-11-28T10:32:47.080 に答える
0

私はこれに対する解決策をブログに投稿しました。これは、テンプレートへの介入を必要としない単純な解決策です。

http://shemesh.wordpress.com/2013/12/31/silverlight-treeview-scroll-behavior/

于 2013-12-31T20:13:45.500 に答える