brainy-machine-50829
11/10/2019, 10:46 AMbrainy-machine-50829
11/10/2019, 10:47 AMbrainy-machine-50829
11/10/2019, 10:48 AMbrainy-machine-50829
11/10/2019, 10:48 AMbrainy-machine-50829
11/10/2019, 10:48 AMbright-gpu-74537
11/10/2019, 10:49 AMbrainy-machine-50829
11/10/2019, 10:50 AMbright-gpu-74537
11/10/2019, 10:50 AMbrainy-machine-50829
11/10/2019, 10:56 AMcs
class MyItemsControl : ItemsControl, System.Windows.Controls.Primitives.IContainItemStorage {
object System.Windows.Controls.Primitives.IContainItemStorage.ReadItemValue(object item, DependencyProperty dp) {
VMOrder order = (VMOrder)item;
return new Size(this.Width, (order.Items.SelectMany(x => x.ItemsFound).Count() + 1) * 22 + 13 + order.ExpandBottom);
//return Helper.ReadItemValue(this, item, dp.GlobalIndex);
}
void System.Windows.Controls.Primitives.IContainItemStorage.StoreItemValue(object item, DependencyProperty dp, object value) {
//Helper.StoreItemValue(this, item, dp.GlobalIndex, value);
}
void System.Windows.Controls.Primitives.IContainItemStorage.ClearItemValue(object item, DependencyProperty dp) {
//Helper.ClearItemValue(this, item, dp.GlobalIndex);
}
void System.Windows.Controls.Primitives.IContainItemStorage.ClearValue(DependencyProperty dp) {
//Helper.ClearItemValueStorage(this, new int[] { dp.GlobalIndex });
}
void System.Windows.Controls.Primitives.IContainItemStorage.Clear() {
//Helper.ClearItemValueStorage(this);
}
}
brainy-machine-50829
11/10/2019, 10:57 AMbrainy-machine-50829
11/10/2019, 10:58 AMbright-gpu-74537
11/10/2019, 10:59 AMbrainy-machine-50829
11/10/2019, 11:00 AMxml
<local:MyItemsControl Grid.Row="2" ItemsSource="{Binding Orders}" x:Name="listView" localHelp:ItemsControlBehavior.SmartScroll="True"
VirtualizingPanel.ScrollUnit="Pixel"
VirtualizingPanel.VirtualizationMode="Recycling"
VirtualizingPanel.CacheLength="1,1"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingStackPanel.CleanUpVirtualizedItem="VirtualizingStackPanel_CleanUpVirtualizedItem"
ScrollViewer.CanContentScroll="True"
HorizontalContentAlignment="Stretch"
SnapsToDevicePixels="True"
FocusVisualStyle="{x:Null}"
IsEnabled="{Binding Connection.ConnectionState, Converter={StaticResource connectionStateConverter}}"
KeyboardNavigation.DirectionalNavigation="Continue">
<ItemsControl.Style>
<Style TargetType="ItemsControl">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False" >
<Setter Property="Opacity" Value="0.4"/>
</Trigger>
</Style.Triggers>
</Style>
</ItemsControl.Style>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel RequestBringIntoView="VirtualizingStackPanel_RequestBringIntoView" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:OrderUserControl x:Name="item" Focusable="True" KeyboardNavigation.IsTabStop ="True" ExpandBottom="{Binding ExpandBottom}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.Template>
<ControlTemplate>
<ScrollViewer HorizontalScrollBarVisibility="Auto" ScrollChanged="ScrollViewer_ScrollChanged">
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
</local:MyItemsControl>
brainy-machine-50829
11/10/2019, 11:03 AMbright-gpu-74537
11/10/2019, 11:03 AMbrainy-machine-50829
11/10/2019, 11:04 AMbrainy-machine-50829
11/10/2019, 11:04 AMbrainy-machine-50829
11/10/2019, 11:04 AMbright-gpu-74537
11/10/2019, 11:05 AMbright-gpu-74537
11/10/2019, 11:05 AMbrainy-machine-50829
11/10/2019, 11:06 AMbrainy-machine-50829
11/10/2019, 11:06 AMbright-gpu-74537
11/10/2019, 11:06 AMbrainy-machine-50829
11/10/2019, 11:06 AMbrainy-machine-50829
11/10/2019, 11:06 AMbright-gpu-74537
11/10/2019, 11:07 AMbrainy-machine-50829
11/10/2019, 11:07 AMbright-gpu-74537
11/10/2019, 11:07 AMbrainy-machine-50829
11/10/2019, 11:07 AM