我的問題是與此類似;C#/ WPF - 數據網格 - 綁定TextBox的寬度在RowDetails到含數據網格的
除了我想排的細節從來沒有超過它跨越列的寬度。
|--0--|--1--|--2--|--3--|--4--|
|---------Row-Details---------|
我試圖AreRowDetailsFrozen
這一點也沒有影響。我也嘗試綁定到父Grid的實際寬度(OneWay),但這會導致寬度超過我的兩個屏幕。
這是我目前的嘗試(簡化);
<Grid>
<DataGrid x:Name="Grid"
Grid.Row="1"
ItemsSource="{Binding Collection}"
IsReadOnly="True"
AutoGenerateColumns="False"
ColumnWidth="Auto"
CanUserResizeColumns="False"
CanUserResizeRows="False"
RowDetailsVisibilityMode="VisibleWhenSelected"
AreRowDetailsFrozen="True"
SelectionUnit="FullRow"
VerticalAlignment="Top"
HorizontalAlignment="Center">
<DataGrid.RowDetailsTemplate>
<!-- Begin row details section. -->
<DataTemplate>
<TextBox DataContext="{Binding ErrorMessage}"
IsReadOnly="True"
Margin="5"
BorderBrush="Transparent"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"
TextWrapping="Wrap"
Text="{Binding .}">
</TextBox>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
</Grid>
這將導致以下結果:
|--0--|--1--|--2--|--3--|--4--|
|---------Row-Details are as wide as the longest row in their content ---------|
綁定文本框的寬度任何父容器(網格,數據網格,ItemsPresenter):
Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid}}, Path=ActualWidth, Mode=OneWay}"
結果:
|------Viewable Area-------|
|---- Columns ----|
|---------Row-Details --------------------------------------------------------------|
這是非常令人沮喪,我只是想行詳細信息不要更改DataGrid的寬度,是不是要問這麼多? :)
謝謝,我會等待很短的時間,看看是否有一個更簡潔的方法,但是這是迄今爲止我見過的唯一可行的選擇。非常感激。 – CityView