[英]Visibility of ViewBox set from code
在我的Window上,我有一個ViewBox控件,其中包含一個自定義進度欄。 在設計模式下,我將其“可見性”設置為“已折疊”,因為我只需要在特定時間(登錄應用程序期間)顯示它。
在我的進度條(即用戶控件)中,我具有VisibilityChanged事件的事件處理程序,在其中停止並開始動畫。
當用戶單擊“登錄”按鈕時,我需要顯示此ViewBox,直到“登錄”完成,然后在成功后再次將其折疊。 但是,當我(在后面的代碼中)設置ViewBox.Visibility = Visible時,它沒有顯示。
誰能告訴我原因,或如何解決?
XAML:
<Viewbox x:Name="cpProgress" Width="50" Height="50" HorizontalAlignment="Center" VerticalAlignment="Bottom" Grid.Row="1" Visibility="Collapsed" >
<lc:CircularProgress />
</Viewbox>
謝謝
將ViewBox.Visibility = Visible
更改為cpProgress.Visibility = Visible
並確保Grid具有為第1行定義的正確行高。
我終於來解決這個問題了。 這真的很簡單:)。 我只是忘記了,如果我在窗口所在的同一個線程中運行登錄過程,則UI將掛起,直到登錄完成。 因此,解決方案是生成一個新線程,在其上下文中運行登錄並等待在UI線程中設置completed
標志。 登錄過程必須以異步方式運行,因此UI可以繪制我的usercontrol。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.