簡體   English   中英

如何獲取ActualHeight的值,將其傳遞到轉換器中,該轉換器將結果饋入ActualWidth

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM