Helpex - Trao đổi & giúp đỡ Đăng nhập
33

Có ai biết cách tạo Style wpf bằng mã phía sau không, mình tìm trên web hay MSDN docs gì cũng không được. Tôi đã thử điều này nhưng nó không hoạt động:

Style s = new Style(typeof(TextBlock));
s.RegisterName("Foreground", Brushes.Green);
s.RegisterName("Text", "Green");

breakInfoControl.dataTextBlock.Style = s;
33 hữu ích 0 bình luận 57k xem chia sẻ
81

Bạn cần thêm bộ định tuyến vào kiểu thay vì sử dụng Tên đăng ký. Đoạn mã sau, trong sự kiện Window_Loaded, sẽ tạo một kiểu TextBlock mới sẽ trở thành kiểu mặc định cho tất cả các trường hợp của TextBlock trong Window. Nếu bạn muốn đặt nó rõ ràng trên một TextBlock cụ thể, bạn có thể đặt thuộc tính Style của điều khiển đó thay vì thêm kiểu vào từ điển Tài nguyên.

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    Style style = new Style(typeof (TextBlock));
    style.Setters.Add(new Setter(TextBlock.ForegroundProperty, Brushes.Green));
    style.Setters.Add(new Setter(TextBlock.TextProperty, "Green"));
    Resources.Add(typeof (TextBlock), style);
}
81 hữu ích 1 bình luận chia sẻ
9

Điều này sẽ giúp bạn có được những gì bạn cần:

Style style = new Style
{
    TargetType = typeof(Control)
};
style.Setters.Add(new Setter(Control.ForegroundProperty, Brushes.Green));
myControl.Style = style;
9 hữu ích 1 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ c# .net wpf styles code-behind , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading