मैं डब्ल्यूपीएफ और कैलिबर्न दोनों के लिए वक्र पर अपेक्षाकृत कम हूं। माइक्रो।चयनित मूल्य को combobox करने के लिए देखने मॉडल के caliburn.micro बाध्यकारी कैसे करें?
मेरा लक्ष्य यहां शेलव्यू के कोड से दृश्य मॉडल में कंबोबॉक्स चयनित आइटम के बाध्यकारी को स्थानांतरित करना है, जैसा कि यह पहले से ही combobox के आइटम संग्रह के लिए है।
XAML:
<Window x:Class="EomDatabaseUtility.Views.ShellView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Eom Tool Database Utility" Height="350" Width="525">
<Grid>
<DataGrid AutoGenerateColumns="False" Height="258" HorizontalAlignment="Left" Margin="12,41,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="479" />
<Button Content="Execute" Height="23" HorizontalAlignment="Left" Margin="416,12,0,0" VerticalAlignment="Top" Width="75" x:Name="Execute" />
<ComboBox Height="23" HorizontalAlignment="Left" Margin="12,12,0,0" VerticalAlignment="Top" Width="120" x:Name="CatalogName" SelectedValuePath="{Binding Path=SelectedCatalogName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</Window>
कोड के पीछे (जहां लक्ष्य किसी भी कोड जोड़ने के लिए, अगर मैं सही ढंग से uderstand नहीं है):
namespace EomDatabaseUtility.Views
{
using System.Windows;
public partial class ShellView : Window
{
public ShellView()
{
InitializeComponent();
}
// --> This should go in the view model, Right?
private string selectedCatalogName;
public string SelectedCatalogName
{
get { return selectedCatalogName; }
set { selectedCatalogName = value; }
}
}
}
देखें मॉडल (वर्तमान में कंबोबॉक्स के साथ-साथ एक बटन इवेंट हैंडलर के आइटमों की संग्रह की आपूर्ति):
namespace EomDatabaseUtility.ViewModels
{
using Caliburn.Micro;
using System.Collections.Generic;
public class ShellViewModel : PropertyChangedBase
{
public List<string> CatalogName
{
get
{
return new List<string> { "foo", "bar" };
}
}
public void Execute()
{
System.Windows.MessageBox.Show("hello");
}
}
}
धन्यवाद! मैंने इसे चयनित इटैम संपत्ति के साथ काम किया है, लेकिन चयनितसूची नाम नहीं है - हालांकि, यह सिर्फ एक बोनस है ... –
आह, आप combobox CatalogNames नामकरण करने का प्रयास कर सकते हैं, और फिर कैटलॉग नाम संपत्ति और चयनितCatalogName है। मैं काम करने की उम्मीद करता हूं। – devdigital
हाँ, यह किया .. मुझे पसंद है! –