2011-05-08 21 views
1

這個問題直接關係到這個問題的(接受的答案):Change ListView CellTemplate based on state of item,它在接受的答案中保存所有相關的XAML。使ProgressBar可用空間

其中一種狀態需要ProgressBar。除了我無法按照自己想要的方式去觀察和行事的事實之外,哪些方法可行,哪些方法可以在不佔用更多空間的情況下佔用所有可用的地平線和垂直空間。

爲了解決這個問題,我試着按照給出的建議here,但是我沒有做任何事情似乎只有一個效果。 XxxContentAlignment選項會被忽略,無論我是否將它們應用於ContentControl s,ListViewItem s或其他我一路上想到的其他東西。綁定到指定元素也失敗了,給我一個

Cannot find source for binding with reference 

錯誤,指的是它無法查找對方的回答來電col1。我發現的所有其他建議是這些的變化,涉及ActualWidth或其ActualHeight表親,或涉及RelativeSourceFindAncestor的東西。

在這個試圖解決這個過去2小時這個相當微不足道的事情的時候,我想我真的可以用最後的微調來向正確的方向展示我。 (可能指出明顯的失誤,我一直做的...)

+0

哪裏是你的代碼?我們如何知道你是對還是錯? – 2011-05-08 18:35:04

+0

見第一段。至於做得對/做錯了:那裏給出的建議我接近這封信實現,我敢說他們不是很火箭科學。我嘗試了很多變化,我在問題中提到的主要部分也是如此,但除此之外,您還會做什麼?重新創造我記得嘗試的每一個品種? :) – Stigma 2011-05-08 19:48:49

+0

對此感到抱歉。當我看到「我試圖做到這一點,但它不起作用」,我期望看到代碼與它一起工作。不幸的是,這種情況在這裏經常發生,很難提供任何好的建議。 – 2011-05-08 21:56:24

回答

1

這是在一個較高的水平,我一得到它通過改變ItemStyle伸展:

<ListView.ItemContainerStyle> 
    <Style TargetType="{x:Type ListViewItem}"> 
     <Setter Property="HorizontalContentAlignment" Value="Stretch"/> 
    </Style> 
</ListView.ItemContainerStyle> 

一些代碼,我測試了,只是讓你看到沒有HorizontalAlignmentHorizontalContentAlignment設置:

<GridViewColumn Header="Status"> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <ContentControl> 
       <ContentControl.Style> 
        <Style TargetType="{x:Type ContentControl}"> 
         <Style.Triggers> 
          <DataTrigger Binding="{Binding IsActive}" Value="True"> 
           <Setter Property="ContentTemplate"> 
            <Setter.Value> 
             <DataTemplate> 
              <StackPanel> 
               <ProgressBar Height="20" 
                  Value="{Binding Id}" Minimum="0" Maximum="10"/> 
              </StackPanel> 
             </DataTemplate> 
            </Setter.Value> 
           </Setter> 
          </DataTrigger> 

          <!-- ... --> 
         </Style.Triggers> 
        </Style> 
       </ContentControl.Style> 
      </ContentControl> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 
+0

啊,所以ItemContainerStyle是我錯過的拼圖片!在我看完我的電影后,我會試試看。 :)但是,我想問 - 這不適用於我可能放入該列的_all_元素,而不僅僅是ProgressBar?我接受它我需要爲ItemContainerStyle分開一堆DataTriggers? – Stigma 2011-05-08 19:25:53

+0

它不會影響我所看到的其他列。至少文本仍然左對齊(可能即使TextBlock現在延伸整個寬度) – 2011-05-08 20:26:43

+0

考慮到它先發制人擔心我的一部分。 :)我會考慮它的答案,因爲它完全符合我的要求,謝謝! (關於下一個我可能會忽略的奇怪問題。) – Stigma 2011-05-08 20:30:45