gpt4 book ai didi

wpf - 如何更改每个DataGrid行详细信息的行详细信息数据模板中的TextBlock文本?

转载 作者:行者123 更新时间:2023-12-02 04:02:51 25 4
gpt4 key购买 nike

我有Datagrid,它在每一行中用鼠标单击正在显示数据网格行的详细信息。这是代码,

Microsoft.Windows.Controls.DataGridRow row = (Microsoft.Windows.Controls.DataGridRow)(DataGrid1.ItemContainerGenerator.ContainerFromItem(DataGrid1.SelectedItem));


DataGridDetailsPresenter presenter = FindVisualChild<DataGridDetailsPresenter>(row);


DataTemplate template = presenter.ContentTemplate;
TextBlock txt = (TextBlock)template.FindName("rowdetails", presenter);
txt.Text = retString;

而且我还有Checkbox,当您选中它时,它应该显示所有行的详细信息。
我正在尝试这段代码以显示所有rowdetails
if ((bool)chkboxRowDetails.IsChecked)
{
DataGrid1.RowDetailsVisibilityMode = Microsoft.Windows.Controls.DataGridRowDetailsVisibilityMode.Visible;

for (int i = 0; i < DataGrid1.Items.Count-1; i++)
{
Microsoft.Windows.Controls.DataGridRow row = (Microsoft.Windows.Controls.DataGridRow)(DataGrid1.ItemContainerGenerator.ContainerFromIndex(i));
DataGridDetailsPresenter presenter = FindVisualChild<DataGridDetailsPresenter>(row);
DataTemplate template =presenter.ContentTemplate;

TextBlock txt = (TextBlock)template.FindName("rowdetails", presenter);
txt.Text = retString;


}

但这给了错误。 “此操作仅对应用了此模板的元素有效。”
在行中显示TextBlock txt =(TextBlock)template.FindName(“rowdetails”,presenter);
您知道我的代码有什么问题吗?我想通过选中复选框显示所有行的详细信息。我的数据模板在这里
<WpfToolkit:DataGrid.RowDetailsTemplate>

<DataTemplate>

<StackPanel HorizontalAlignment="Stretch" Orientation="Vertical" Margin="5">
<TextBlock Foreground="CadetBlue" FontSize="14"
TextWrapping="Wrap" Name="rowdetails" HorizontalAlignment="Stretch"
/>
</StackPanel>
</DataTemplate>


</WpfToolkit:DataGrid.RowDetailsTemplate>

最佳答案

我通过在行详细信息加载中添加一些代码解决了这个问题。这是代码。

        TextBlock txt1 = e.DetailsElement.FindName("rowdetails") as TextBlock;
txt1.Text = retString; // where retString is variable string.

关于wpf - 如何更改每个DataGrid行详细信息的行详细信息数据模板中的TextBlock文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9311444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com