私はを持っています。これはRowDetail
です。ユーザーがデータベースの行をクリックするたびに、Telerik GridView
を使用します。通常の方法では、それは可能ではありません、または少なくとも私はのグリッドに直接バインドされたDataContext
のGridRowに含まれているもの以上のものがあります。私が見つけたのは、UserControl
という名前でRowDetailTemplate DataContextをUserControl
に設定できるため、RowDetailを他のモデルに参照できるようになります。 私のコードは、このSilverlightデータバインディングエラー
<UserControl
x:Name="mainPageView"
x:Class="Project.Client.TestView"
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:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<UserControl.Resources>
<DataTemplate x:Key="ContactRowDetailTemplate" >
<Grid Background="Transparent"
DataContext="{Binding DataContext.ContactStatModel,
ElementName=mainPageView,Mode=OneTime}">
<Grid.RowDefinitions>
<RowDefinition Height="28" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="Sent SMS Count" Grid.Column="0" Grid.Row="0" />
<TextBlock Text=":" Grid.Column="1" Grid.Row="0" />
<TextBlock Text="{Binding SMSCount}" Grid.Column="2" Grid.Row="0" />
</Grid>
</DataTemplate>
</UserControl.Resources>
<telerik:RadGridView
x:Name="gridView"
AutoGenerateColumns="False" Height="Auto" Grid.Row="3"
ItemsSource="{Binding VOutboxList, Mode=TwoWay}"
SelectedItem="{Binding VOutboxModel, Mode=TwoWay}"
RowDetailsTemplate="{StaticResource ContactRowDetailTemplate}"
LoadingRowDetails="gridView_LoadingRowDetails">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn UniqueName="FirstName" Header="First Name" Width="150" />
<telerik:GridViewDataColumn UniqueName="LastName" Header="Last Name" Width="150" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</UserControl>
ようなものです。しかし、私はこの例外
{Error: System.Exception: BindingExpression_CannotFindElementName}
を取得し、この時間は、何かアドバイスが参考になります。 よろしくおねがいします。
Oliverさん、本当にありがとうございます。このクラスをもっと詳しく使用する方法を説明できますか? ?!! – saber
私は、使用例を更新して、独自のデータ・テンプレートを使用して物事をより明確にしました。これはShimクラスをTelerikグリッドに移植した後に動作するはずですが、私はそれをテストしていません。 –
Oliverさん、本当にありがとうございます。 – saber