2010-07-18 33 views
7

Như tôi đã nêu trong another post, tôi truy cập vào các lần điều khiển trực tiếp từ mã phía sau. Nếu tôi làm điều này tôi đặt tên cho các điều khiển như tôi cũng làm trong ControlTemplates và DataTemplates, tôi cung cấp cho họ tiền tố PART_ và sau khi tôi thấy chính xác tên, ví dụ ...Đặt tên của WPF-Điều khiển trong Đánh dấu

<TextBox Name=”PART_UserName” /> 

Đây có phải là chống lại một WPF đặt tên chung kế hoạch? Trước đây tôi đã sử dụng tiền tố m_ tiếp theo là mô tả ...

<TextBox Name=”m_userName” /> 

.. bởi vì trong thực tế của nó chính xác này, nhưng tôi không thích nó. Bạn nghĩ sao? Xin lưu ý, tôi không muốn thảo luận xem có nên sử dụng MVVM hay không. Có những tình huống mà tôi không quan tâm.

Trả lời

11

Mẫu PART_<name> được sử dụng khi bạn viết các điều khiển tùy chỉnh có thể được xem xét. Đây là tên của các phần bắt buộc của mẫu, mà không có điều khiển nào không thể hoạt động. tên như vậy thường được khai báo với một thuộc tính [TemplatePart] trong C# mã:

[TemplatePart(Name = "PART_TextBox", Type = typeof(TextBox))] 
[TemplatePart(Name = "PART_UpButton", Type = typeof(Button))] 
[TemplatePart(Name = "PART_DownButton", Type = typeof(Button))] 
public class NumericUpDown : Control 
{ 
    ... 

    protected override OnApplyTemplate() 
    { 
     base.OnApplyTemplate(); 

     // Find controls in the template 
     TextBox textBox = Template.FindName("PART_TextBox", this) as TextBox; 
     Button upButton = Template.FindName("PART_UpButton", this) as Button; 
     Button downButton = Template.FindName("PART_DownButton", this) as Button; 

     // Do something with the controls... 
     ... 
    } 

    ... 
} 

Vì vậy, trừ khi bạn đang viết một mẫu kiểm soát, không có lý do để sử dụng mẫu đặt tên. Chỉ cần đặt tên cho các điều khiển của bạn bất cứ điều gì bạn thích, miễn là nó có ý nghĩa đối với bạn.

Các vấn đề liên quan