0
我確實遇到了綁定我的usercontrol的可見性的問題。usercontrol的綁定可見性不會崩潰控制
與可見性類型的依賴項屬性的綁定工作正常,並且DP保存了正確的值(在本例中爲摺疊)。我的網格在UserControl中的內容設置爲摺疊狀態,但空洞控制不會摺疊。它仍然保持着由he和heig定義的空間,正如xaml中所引用的那樣。
編輯:我發現,問題是我在XAML中設置寬度和高度,我參考我的用戶控件。如果我不這樣做,控件崩潰正確(因此綁定工作正常)。但我需要設置寬度和heigth以防usercontrol可見。
任何想法如何我可以解決這個問題?
<my:MenuButtonBase x:Class="bxSuite.Controls.MenuButtonLarge"
xmlns:my="clr-namespace:bxSuite.Controls"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
Background="Black"
>
<Grid Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}, Path=ButtonVisibility}" >
<StackPanel>
<Image Source="{Binding ButtonImageSource}" Margin="5,10,5,5" Width="48" Height="48" VerticalAlignment="Top" HorizontalAlignment="Center" />
<TextBlock Text="{Binding FunctionHeader}" Foreground="White" TextWrapping="Wrap" TextAlignment="Center" Padding="5,5,5,5" FontSize="12" />
</StackPanel>
</Grid>
</my:MenuButtonBase>
在XAML中我引用我的用戶是這樣的(在轉換器正確地產生,可視性狀態):
<my:MenuButtonLarge Name="btnInEuqipment" ButtonVisibility="{Binding Path=User, Converter={StaticResource ConverterUserRightVisibility}, ConverterParameter=5}" VerticalAlignment="Top" FunctionHeader="{lex:Loc Key=MenuButton_InEquipment}" Width="130" ButtonImageSource="/bxSuite.RolloutManager;component/Images/inequipment_48x48.png" BackgroundEnabled="#FF0694FD" BackgroundHover="#FF0072C6" MenuButtonClick="btnInEuqipment_MenuButtonClick" Height="95" Margin="5,10,0,0" />
嗨布魯諾,thanx爲您的建議。我把它寫在你寫的方式,但結果UControl顯示爲可見。但我認爲這可能是因爲我不明白你的意思,「不要忘記更新你的綁定的相對來源」。我會將我的xaml參考複製到上面的票證中,向您展示如何使用我的usercontrol。 – Mike