0
私はDatagridに少し問題があります。私は、DataGridCellTemplateに[hereと記載されている]自動補完テキストボックスを実装しようとしています。これまでのところ完璧に動作していますが、割り当てられた列スペースをオーバーフローさせるだけで大きな問題になります。私はこれが起こることを望んでいない、言い換えれば、私は、セルの割り当てられたスペースをオーバーフローしないように、データグリッド上に "フロート"する自動補完エントリのリストボックスが必要です。 [私は前に似たようなことを見たので、私は可能であることを知っているので、これは可能だと思う]。DataTemplateはDataGridセルをオーバーフローします
XAML:事前に
<Window x:Class="LDary.Compras"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Compras" Height="300" Width="300" Name="WinCompras">
<Window.Resources>
<CollectionViewSource Source="{Binding ElementName=WinCompras, Path=AutoCSource}" x:Key="Source" Filter="CollectionViewSource_Filter" />
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Text="Articulos de la compra:" Padding="0,2"/>
<DataGrid Grid.Row="1" AutoGenerateColumns="False" x:Name="Lista" CanUserAddRows="True" ItemsSource="{Binding ElementName=WinCompras, Path=CompraActual}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Nombre" x:Name="Nombre">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Nombre}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<StackPanel>
<TextBox Text="{Binding Nombre}" TextChanged="TextBox_TextChanged" Loaded="TextBox_Loaded" Unloaded="TextBox_Unloaded"/>
<ListBox Visibility="Hidden" ItemsSource="{Binding Source={StaticResource Source}}"
Focusable="False" Loaded="ListBox_Loaded" Unloaded="ListBox_Unloaded">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Nombre}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
<Button Name="BtnGuardar" Content="Guardar" Padding="0,5" Grid.Row="2" />
<Button Name="BtnReset" Content="Reiniciar" Padding="0,5" Grid.Row="3" />
</Grid>
</Window >
感謝:)
私はポップアップでLBをラップしようとしたが示すように、それは何もないような作業をdidntの。たぶん私は何かを構成する必要がありましたか?あなたのリンクを確認してください。ありがとう。編集:IsOpenプロパティをtrueに設定しました:)可能であれば、IsOpenをリストボックスの可視性にバインドしたいと考えています:p – Machinarius
完了しました。ありがとう、多くの人、今なぜ私はItemsSourceバインドされたコレクションにオートコンプリートアイテムを割り当てると、行が読み取り専用になるのかを解読する必要があります:S – Machinarius