[英]WPF pass ActualWidth and ActualHeight of child control to value converter
[英]How to get value of ActualHeight, pass it into a converter which feeds the result into ActualWidth
xaml的新手在這里。 我有一個要問大家的問題。
我有一個名為“ ResourceMonitor”的UserControl,我試圖確保在其周圍的任務欄得到縮放(已經編寫和測試)時,我的UserControl的ActualWidth被縮放為ActualHeight的1半倍(以保持其狀態)縮放時保持一致)。
我正在嘗試使用RelativeSource檢索(ResourceMonitor UserControl的)ActualHeight的大小,然后將其作為參數傳遞給我的轉換器,然后將其分配給width。 有更好/更容易的方法嗎?
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,2,0">
<rm:ResourceMonitor Margin="0,0,4,0"
ShowMemoryTrace="True"
MemoryTraceColor="#FF3399FF"
Width="{Binding Path = {Path=ActualHeight, RelativeSource={RelativeSource Self}}, Converter={StaticResource ResourceMonitorWidthScalingConverter}}">
</rm:ResourceMonitor>
<Viewbox>
<StackPanel Orientation="Horizontal">
<local:ServerStatus DataContext="{Binding ServerStatusViewModel}"/>
</StackPanel>
</Viewbox>
</StackPanel>
我在這里遇到了幾個錯誤,有人說“類型路徑像標記擴展一樣使用,但不是從MarkupExtension派生的”
和
“論據名稱丟失”
請幫忙 :/
您的綁定表達式寫錯了。
Width="{Binding Path=ActualHeight, RelativeSource={RelativeSource Self}},
Converter={StaticResource ResourceMonitorWidthScalingConverter}}"
對於MVVM,使用轉換器是推薦的方法之一。 但是,如果您不介意隱藏代碼,則可以通過處理事件來隱藏代碼。 但是說真的,使用轉換器要容易得多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.