嗨 我是新來的silverlight 4. 我有兩個單選按鈕在我的視圖中名稱內部和外部在stackpanel1,綁定到我的視圖模型。我有文本塊和按鈕,在stackpanel2中有 。 現在我需要什麼時,我選擇內部單選按鈕stackpanel2應該是可見的,並在外部選擇stackpanel2應該是看不見的。 所以我如何將stackpanel2可見性屬性綁定到我的viewmodel。 請儘快解決問題。如何綁定堆棧面板的可見性屬性
回答
您必須在您的數據模型中添加新的Visibility屬性,然後將此屬性綁定到stackpanel Visibility屬性,進一步將其綁定到布爾屬性,但您需要轉換器。 silverlight中的轉換器將任何指定的值轉換爲屬性類型的值。
您可以在此處瞭解如何構建轉換器。 http://weblogs.asp.net/dwahlin/archive/2009/08/15/so-what-s-a-silverlight-value-converter-anyway.aspx
我沒有得到你可以幫我一個忙。請顯示Convertor,xzml和viewmodel的編碼。 – anuj 2011-02-09 10:28:47
@anuj:評論的文字限制爲600個字符。這不是推特或短信。不鼓勵使用諸如「你」而不是「你」的收縮。 – AnthonyWJones 2011-02-09 13:31:44
@安居沒有問題,你必須添加一個新類的IValueConverter繼承它,這將是您的布爾能見度轉換器,現在u必須綁定StackPanel的Visibility屬性與你這樣的視圖模型布爾屬性:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:GreenScreenApp.classes" x:Class="GreenScreenApp.one" >
<UserControl.Resources>
<local:VisibilityConverter x:Key="BoolToVisibilityConverter"/>
</UserControl.Resources>
<Grid DataContext="MyDataSource" x:Name="LayoutRoot" >
<StackPanel x:Name="stackpanel2" Visibility="{Binding IsVisible, Converter={StaticResource BoolToVisibilityConverter}}">
</StackPanel>
</Grid>
,你應該有一個屬性名爲數據上下文 「可見性」。轉換器將轉換布爾值並返回可見性值。
轉換代碼
public class VisibilityConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var v = value;
if (v == "true")
return "Visible";
else
return "Collapsed";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
只想讓你知道我的情況下,轉換器類是在文件夾「類」在項目的根目錄。 希望它能解決你的問題。供參考:
- 1. 綁定複選框被檢查到堆棧面板可見性
- 2. WPF堆棧面板可見性動畫
- 3. 將XAML中的可見性綁定到可見性屬性
- 4. 如何將DataGridTemplateColumn的可見性綁定到textBlock的可見性
- 5. 如何將圖像可見性綁定到用戶屬性
- 6. 綁定的DataTemplate父項的可見性(可見性或可見性),以在ViewModel
- 7. 使用模型視圖更改堆棧面板可見性方法
- 8. Silverlight DataGridTextColumn綁定可見性
- 9. Root MenuItem可見性綁定
- 10. 可見性綁定失敗
- 11. 綁定DataGridTemplateColumn可見性
- 12. 綁定可見性DataContext
- 13. Silverlight ListboxItem可見性綁定
- 14. 基於綁定對象和模型屬性的可見綁定
- 15. 使用屬性選擇器更改面板堆棧中的面板(Microstrategy)
- 16. RadGridViewRow上RadButton的多重綁定可見性屬性
- 17. 將兩個元素的可見性綁定到一個屬性
- 18. WPF可見性綁定到轉換後的實例屬性
- 19. WPF - 將UserControl的可見性綁定到屬性
- 20. WPF DataGrid RowDetails綁定到屬性的可見性(僅限XAML)
- 21. 將依賴屬性綁定到樣式中的可見性
- 22. 如何檢查界面屬性的可見性?
- 23. Silverlight將可見性綁定到父類屬性
- 24. 在WPF中綁定DataGridTextColumn可見性屬性
- 25. 試圖將ComboBox SelectedItem綁定到GroupBox可見性屬性
- 26. 根據屬性更改可見性綁定
- 27. 將可見性綁定到靜態屬性
- 28. Windows Phone 8檢查如果堆棧面板在可見區域
- 29. 綁定可見性任何父母
- 30. 切換面板可見性在堆疊時不工作
供參考:「儘快」在這裏被認爲是粗魯的。這意味着在您的評估中,您的問題比其他問題更重要。 – AnthonyWJones 2011-02-09 13:29:54