ScrollViewer
がウィンドウ内の唯一の要素でない場合、正常に動作するのに問題があります。私は項目のリスト(ItemsSource
として設定されたリスト)をスクロールするだけでなく、他の要素を私のウィンドウに表示したいと思っています。今私はheight
を他の要素に相対して設定する方法を知らない。それは有効なアプローチですか、それとも完全に間違っているのですか?WpfでScrollViewerを動的に実装する方法
<Window x:Class="FactorioWpf.MainWindow"
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"
xmlns:local="clr-namespace:FactorioWpf"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525"
Closing="Window_Closing">
<StackPanel>
<Menu>
<MenuItem Header="Items">
<MenuItem Header="Add" Click="ItemsAdd_Click" />
</MenuItem>
</Menu>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ScrollViewer Grid.Column="0">
<ItemsControl Name="ItemViewerItemsControl">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</Grid>
</StackPanel>
私は約3時間で検索しかし、私は見つけることができる唯一のソリューションは、トップ要素としてスクロールビューアを設定することでした。
まず、RowDefinitionのないグリッドを使用しています。それは意図されていますか? StackPanelを試しましたか? RowDefinition? DockPanel?リストビュー? –