[英]Make ProgressBar take available space
該問題直接與該問題(的接受答案)相關: 根據item的狀態更改ListView CellTemplate ,該狀態將所有相關XAML保留在該接受答案中。
這些狀態之一需要一個ProgressBar。 哪種方法可行,除了我無法按照我希望的方式外觀和操作,即占用所有可用的水平和垂直空間,而不占用超出要求的空間。
為了解決這個問題,我嘗試遵循此處給出的建議,但是我所做的一切似乎沒有任何效果。 無論我將它們應用於ContentControl
, ListViewItem
還是我提出的其他任何方法,XxxContentAlignment選項都將被忽略。 與命名元素的綁定也失敗,給了我一個
Cannot find source for binding with reference
錯誤,表示無法找到其他答案稱為col1
。 我發現的所有其他建議都是這些的變體,涉及到ActualWidth
或其ActualHeight
表親,或涉及RelativeSource
和FindAncestor
東西。
在嘗試在過去2個小時中修復這個相當瑣碎的問題時,我認為我真的可以使用最后的提示向我展示正確的方向。 (並且可能指出了我一直在犯的明顯錯誤...)
這是一個很高的層次,我通過更改ItemStyle使其得到了擴展:
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
我測試了一些代碼,只是看到沒有設置HorizontalAlignment
或HorizontalContentAlignment
:
<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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.