2012-02-14 26 views
0

所以我試圖完成你可以在提供的圖像示例中看到。我不能使用正確的寬度綁定?基本上我有一個RadPanelBar和一個RadDataGrid嵌入在一個RadPanelBarItem中,當加載時不斷顯示出可視區域。我需要它來尊重單元格的寬度並調整GridSplitter。所以它應該伸展它的Parent的可用寬度,並繼續用GridSplitter Movement伸展。有任何想法嗎?什麼適當的MaxWidth綁定格式?RadPanelBar/RadDataGrid相對於項目子項的寬度綁定?

<telerik:RadPanelBarItem x:Name="QuickFind" Header="Quick Find" IsExpanded="True"> 
     <StackPanel x:Name="Container" Orientation="Vertical"> 
      <TextBox x:Name="QuickSearch" 
       cal:Message.Attach="[Event KeyUp]=[Action QuickSearchKeyUp($eventArgs, $this.Text)]" /> 
      <telerik:RadGridView ShowGroupPanel="False" AutoGenerateColumns="False" AutoExpandGroups="True" ShowColumnHeaders="False" RowIndicatorVisibility="Collapsed" Width="{Binding ElementName=Container,Path=ActualWidth}" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden" CanUserResizeColumns="False" IsReadOnly="True" cal:Message.Attach="[Event SelectionChanged]=[Action QuickSearchItemSelect($this.SelectedItem)]" x:Name="ResultsGrid" ItemsSource="{Binding QuickFindService.Results}" > 
      <telerik:RadGridView.Columns> 
       <telerik:GridViewDataColumn Header="Results" UniqueName="Results" DataMemberBinding="{Binding DisplayName}" />       
      </telerik:RadGridView.Columns>> 
     </telerik:RadGridView> 
     </StackPanel> 

RadDataGrid width binding

+0

它可能會幫助您發佈您所談論的網格/面板欄的代碼。 – 2012-02-14 12:58:22

+0

好點,遲到了,我發貼時很累。當前的方法會在運行時使最大寬度正確,但是不允許它通過柵格調整寬度,感謝您的洞察! – 2012-02-14 14:36:21

+1

我只是不明白你爲什麼不得不手動調整寬度......如果你使用正確的容器,那麼datagrid應該只填充父容器,並且不需要綁定任何寬度屬性。我從來不需要綁定寬度屬性。 – 2012-02-14 18:38:42

回答

0

好了,所以自從與使用GridSplitter和RadDataGrid我無法找到任何用於電網分離器時會斷火屬性更改寬度值。所以放棄了RadDataGrid的Item Control,並用標準的Stretch方法解決了它。

換句話說,綁定到某些不會觸發由類似GridSplitter的東西引起的PropertyChanged事件的ActualWidth將不會爲您綁定寬度屬性的動態值。解決了......現在:)