2012-08-06 84 views
0

將依賴項屬性設置爲XAML元素時出現問題。 XAML:設置依賴項屬性時發生災難性錯誤

 <local2:RichTextColumns xmlns:local2="using:App2.Common"> 
      <local2:RichTextColumns.ColumnTemplate> 
       <DataTemplate x:Name="overflowControl1"> 
        <RichTextBlockOverflow Width="1000" Margin="5,0,0,0"/> 
       </DataTemplate> 
      </local2:RichTextColumns.ColumnTemplate> 
      <RichTextBlock Foreground="Black" Width="1000"> 
       <Paragraph> 
       </Paragraph> 
      </RichTextBlock> 
     </local2:RichTextColumns> 

C#

var tmp = (DataTemplate)FindName("overflowControl1"); 
tmp.SetValue(RichTextBlockOverflow.ActualWidthProperty, 100); 

它導致

災難性故障(從HRESULT異常:0x8000FFFF(E_UNEXPECTED))。

我也使用RichTextBlockOverflow.WidthProperty

預先感謝您試過:)

+1

並不意味着'ActualWidth'要設置的屬性,它的只讀 – 2012-08-06 22:49:48

+0

也許你應該給'X:NAME =「overflowControl1」'的'RichTextBlockOverflow'不給''的DataTemplate – S3ddi9 2012-08-06 22:51:54

+0

它看起來像TMP是空值 ???但是當findname找不到元素時,它應該拋出一個異常(除了這個名字存在的事實) – 2012-08-07 14:41:24

回答

1

嘗試

<local2:RichTextColumns xmlns:local2="using:App2.Common"> 
     <local2:RichTextColumns.ColumnTemplate> 
      <DataTemplate> 
       <RichTextBlockOverflow x:Name="overflowControl1" Width="1000" Margin="5,0,0,0"/> 
      </DataTemplate> 
     </local2:RichTextColumns.ColumnTemplate> 
     <RichTextBlock Foreground="Black" Width="1000"> 
      <Paragraph> 
      </Paragraph> 
     </RichTextBlock> 
    </local2:RichTextColumns> 

C#

var tmp = (RichTextBlockOverflow)FindName("overflowControl1"); 
tmp.SetValue(RichTextBlockOverflow.WidthProperty, 100); 
+0

它看起來像tmp是空的?但是當findname找不到元素時,它應該拋出一個異常(除了這個名字存在的事實之外) – 2012-08-07 14:45:29

0

好找到很好的解決方案。我使用綁定將相同的寬度設置爲RichTextBlock和RichTextBlockOverflow。