2009-01-09 38 views
2

我以下列方式定義DataGrid的RowDetailsTemplate:Silverlight數據網格中的每一行是否必須具有相同的「RowDetailsTemplate」?

RowDetailsTemplate = 「{StaticResource的defaultTemplate}」

其中

<UserControl.Resources> 
    <DataTemplate x:Key="defaultTemplate"> 
     <StackPanel> 
      <TextBlock Text="default" x:Name="_txt" /> 
     </StackPanel> 
    </DataTemplate> 
    <DataTemplate x:Key="otherTemplate"> 
     <StackPanel> 
      <TextBlock Text="other" x:Name="_txt" /> 
     </StackPanel> 
    </DataTemplate> 
</UserControl.Resources> 

有沒有一種方法以編程方式確定哪些上面兩個DataTemplates給定的行是使用(也許在LoadingRowDetails()事件中)?

+0

你想完成什麼? – 2009-01-09 18:20:44

回答

1

您可以在LoadingRowDetails事件中添加以下代碼,顯然用自己更換我沒用如果條件:

If 1 = 1 Then 
     e.Row.DetailsTemplate = CType(Resources("defaultTemplate"), DataTemplate) 
    Else 
     e.Row.DetailsTemplate = CType(Resources("otherTemplate"), DataTemplate) 
    End If 
1

首先:非常感謝湯姆。它救了我的天(周/月):-)

而在C#:


if (1 == 1) 
{ 
    e.Row.DetailsTemplate = (DataTemplate) Resources["defaultTemplate"]; 
} 
else 
{ 
    e.Row.DetailsTemplate = (DataTemplate) Resources["otherTemplate"]; 
} 

要添加更多的權力,這種解決方案如下 MSDN鏈接顯示如何在運行時創建控件。

相關問題