سعاد نشر 24 فبراير 2016 على تطبيق بلغة #C، بتقنية WPF، أودّ ملأ أداة Combobox بقيم مُستخرجة من ملف نصي. حاولت فعل ذلك باستعمال الكود : <ComboBox x:Name="serverTxt" Height="23" VerticalAlignment="Top" Text="{Binding Path=ServerNames}"/> حيث مررت مسار الملف النصي إلى القائمة المُنسدلة، على أساس أنها ستقوم بإدراج قيمه كقيم لها. الكود لا يعمل، فهل من حل لذلك؟ انشر على الشّبكات الاجتماعية رابط هذه المساهمة
0 E.Nourddine نشر 25 فبراير 2016 السيناريو المتوقع في مثل هذه الوظائف، هو تصفح الملف النصي عن طريق دالة التكرار forEach ثم إضافة العناصر إلى القائمة المنسدلة انطلاقا من الملف النصي. هذا المثال التطبيقي، يتيح لك عمل ذلك، حيث يتم التأكد من وجود الملف النصي قبل الشروع في تصفحه: الكود المختص بـ Combobox: <ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="149,43,0,0" VerticalAlignment="Top" Width="120" IsEditable="True" ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem}" Text="{Binding NewItem, UpdateSourceTrigger=LostFocus}"/> <ComboBox x:Name="comboBox1" HorizontalAlignment="Left" Margin="349,122,0,0" VerticalAlignment="Top" Width="120"/> الدالة المسؤولة عن إضافة القيم من الملف النصي: public partial class MainWindow : Window { private string _selectedItem; private ObservableCollection<string> ServerNames; private string fileLocation = @"C:\Temp\ServerNames.txt"; public MainWindow() { ServerNames = new ObservableCollection<string>(); if (File.Exists(fileLocation)) { var list = File.ReadAllLines(fileLocation).ToList(); list.ForEach(ServerNames.Add); } DataContext = this; InitializeComponent(); } public IEnumerable Items => ServerNames; public string SelectedItem { get { return _selectedItem; } set { _selectedItem = value; OnPropertyChanged("SelectedItem"); } } public string NewItem { set { if (SelectedItem != null) { return; } if (!string.IsNullOrEmpty(value)) { ServerNames.Add(value); SelectedItem = value; } } } protected void OnPropertyChanged(string propertyName) { var handler = this.PropertyChanged; handler?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } public event PropertyChangedEventHandler PropertyChanged; private void Window_Closing(object sender, CancelEventArgs e) { if (!File.Exists(fileLocation)) { File.Create(fileLocation); } File.WriteAllLines(fileLocation, ServerNames); } } انشر على الشّبكات الاجتماعية رابط هذه المساهمة
على تطبيق بلغة #C، بتقنية WPF، أودّ ملأ أداة Combobox بقيم مُستخرجة من ملف نصي.
حاولت فعل ذلك باستعمال الكود :
حيث مررت مسار الملف النصي إلى القائمة المُنسدلة، على أساس أنها ستقوم بإدراج قيمه كقيم لها.
الكود لا يعمل، فهل من حل لذلك؟
انشر على الشّبكات الاجتماعية
رابط هذه المساهمة