Ví dụ: có thể liên kết thuộc tính Văn bản của Textblock với một phần tử Tên [2] của chuỗi kiểu không?Trong C# và WPF, bạn có thể liên kết một phần tử của một mảng với một thuộc tính đối tượng không?
Trả lời
Tôi không chắc chắn những gì bạn có nghĩa là chính xác bằng cách nói: một Tên yếu tố [2] của kiểu String, vì vậy đây là hai giải pháp có thể cho vấn đề của bạn: Array1 và String1. Mảng 1 hiển thị cung để liên kết với phần tử của một mảng và String1 hiển thị cách hiển thị một ký tự đơn trong một chuỗi.
Mã sản phẩm:
public partial class MainWindow : Window
{
private Array array1 = new[] {"test1", "test2", "test3"};
public Array Array1 { get { return array1; } }
public string string1 = "string";
public string String1 { get { return string1; } }
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
}
}
XAML:
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Array1[0]}"/>
<TextBlock Text="{Binding Array1[2]}"/>
<TextBlock Text="{Binding String1[0]}"/>
<TextBlock Text="{Binding String1[1]}"/>
</StackPanel>
Hy vọng rằng sẽ giúp.
Cảm ơn, công trình này ngoại trừ việc cập nhật nguồn không cập nhật điều khiển đích. Tôi đã thử tất cả mọi thứ và nó không hoạt động cho đến nay. Tôi có nên sử dụng ObservableCollection không? – Scifiballer24
Vì nhận xét này không cho phép tôi đăng câu trả lời khác. –
nếu bạn có nghĩa là nếu chúng ta có thể ràng buộc mục mảng với textbox sau đó, vâng
<TextBox Margin="10" Text="{Binding Name[2], Mode=Default}" Name="textBox1"/>
TextBox không có thuộc tính Nội dung. –
xin lỗi ... sai lầm của nó, cảm ơn – Azhar
Có bạn có thể. Sau đây là cách tiếp cận XAML. Bạn nên liên kết với bộ sưu tập có thể quan sát nếu bạn muốn tự động cập nhật giao diện người dùng khi giá trị thay đổi.
public class DataStub
{
public Array SomeNorthEasternStates
{
get
{
return new[] { "NH", "VT", "CT", "MA", "ME" };
}
}
}
XAML: Giả sử các DataContext được thiết lập một cách chính xác:
<TextBox Margin="5" Text="{Binding SomeNorthEasternStates[3], Mode=Default}"/>
Có lý do cụ thể nào khiến bạn sử dụng các phương thức của lớp 'Array' thay vì chỉ đơn giản là' var testArray = new string [5]; testarray [0] = "NY"; ... '. – Heinzi
@Heinzi - Hoặc var testArray = new [] {"NH", "VT", "CT", "MA", "ME"}; (NY và NJ không ở New England) :) –
@ John Bowen. Lỗi của tôi. Đã đổi tên. – SKG
Tôi đã thêm nút trong xaml và sự kiện "nhấp" đã đăng ký.
Đây là mã C#.
public partial class MainWindow : Window, INotifyPropertyChanged
{
private Array array1 = new[] { "test1", "test2", "test3" };
public Array Array1 { get { return array1; } }
public string string1 = "string";
public string String1
{
get { return string1; }
set
{
string1 = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("String1"));
}
}
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
}
public event PropertyChangedEventHandler PropertyChanged;
private void Button_Click(object sender, RoutedEventArgs e)
{
String1 = DateTime.Now.ToString();
array1.SetValue("another test", 0);
PropertyChanged(this, new PropertyChangedEventArgs("Array1"));
}
}
Cảm ơn. ObservableCollection cũng thực hiện các tính năng đó và hoạt động hoàn hảo. Tôi đánh giá cao sự giúp đỡ của bạn klm_. – Scifiballer24
Sử dụng ObservableCollection thay vì:
private ObservableCollection<string> _myItems = new ObservableCollection<string>(new[] { "test1", "test2", "test3" });
public ObservableCollection<string> MyItems
{
get { return _myItems; }
set { _myItems = value; }
}
XAML
<StackPanel Orientation="Vertical">
<TextBox Text="{Binding MyItems[0]}"/>
<TextBox Text="{Binding MyItems[2]}"/>
<TextBlock Text="{Binding MyItems[0]}"/>
<TextBlock Text="{Binding MyItems[1]}"/>
</StackPanel>
- 1. Truy cập các thuộc tính của một mảng đối tượng
- 2. liên kết với một tài sản của một đối tượng
- 3. Thay thế một phần tử trong một mảng đối tượng
- 4. Liên kết với thuộc tính của phần tử cha trong wpf
- 5. Chuyển đổi một danh sách các đối tượng đến một mảng của một trong những thuộc tính của đối tượng
- 6. Liên kết đối tượng JSON với phần tử HTML
- 7. Toán tử thay thế Perl có thể khớp với một phần tử trong một mảng không?
- 8. Thuộc tính đối tượng JavaScript có thể tham chiếu đến thuộc tính khác của cùng một đối tượng không?
- 9. Loại bỏ không được ánh xạ các thuộc tính của một đối tượng trong một mảng
- 10. hiển thị JSON trong GRAILS với một phần thuộc tính của đối tượng
- 11. Làm thế nào tôi có thể deserialise một phần tử XML thành một mảng các yếu tố với cả hai thuộc tính và văn bản trong C#?
- 12. Lấy một mảng các thuộc tính cho một đối tượng trong Objective-C
- 13. C# Tôi có thể hiển thị một thuộc tính của một đối tượng trong một từ điển như ListControl.DisplayMember?
- 14. WPF - Kiểu nhóm: Chúng tôi có thể chỉ liên kết với thuộc tính "Tên" không?
- 15. Bạn có thể gọi một servlet có liên kết không?
- 16. WPF DataGrid RowDetails Hiển thị liên kết với một thuộc tính (chỉ với XAML)
- 17. Một chuỗi các phần tử XML có thể có điều kiện trên một thuộc tính không?
- 18. Có thể liên kết các thuộc tính kiểu phức với một DataGrid không?
- 19. Cách liên kết một ItemsSource với thuộc tính riêng tư
- 20. Có cả một thuộc tính và hạn chế trên một phần tử trong schema xml
- 21. Làm thế nào để sắp xếp một mảng các đối tượng bằng một thuộc tính của các đối tượng?
- 22. liên kết các thuộc tính JSON với một biểu mẫu
- 23. C - số phần tử trong một mảng?
- 24. C - phần tử nằm ngoài phần đầu của một mảng
- 25. Tôi có thể khởi tạo thuộc tính C# với một mảng hoặc một số đối số biến khác không?
- 26. Tìm phần tử cụ thể dựa trên một thuộc tính
- 27. Sử dụng XmlSerializer với một mảng trong phần tử gốc
- 28. Bạn có sử dụng thuộc tính 'vị trí' của phần tử 'địa chỉ' trong một ràng buộc cổng WSDL không?
- 29. sắp xếp một mảng ruby của các đối tượng bằng một thuộc tính có thể là nil
- 30. Có thể nghe các thay đổi đối với thuộc tính của đối tượng trong JavaScript không?
Bạn có nghĩa là làm thế nào để ràng buộc Tên [2] để sở hữu kiểm soát declaretively trong XAML? –
Vâng đó là ý tôi. Ngay bây giờ, mặc dù, các ràng buộc đang làm việc nhưng kiểm soát mục tiêu không được cập nhật khi biến nguồn được thay đổi. Tôi đang bối rối – Scifiballer24