คำถามติดแท็ก xaml

Extensible Application Markup Language (XAML) เป็นภาษาที่ใช้ XML ที่ประกาศใช้สำหรับการเริ่มต้นค่าโครงสร้างและวัตถุในกรอบต่าง ๆ เมื่อคำถามเกี่ยวกับการใช้งาน XAML ด้วยเฟรมเวิร์กเฉพาะควรมีการระบุแท็กสำหรับเฟรมเวิร์กเช่น [wpf] (มูลนิธิการนำเสนอของ Windows), [Silverlight], [windows-phone], [windows-store-apps] ( แอพ Windows 8 store), [win-universal-app], [xamarin.forms] หรือ [workflow-foundation]

5
จะใส่อักขระ Unicode ใน XAML ได้อย่างไร?
ฉันกำลังพยายามทำสิ่งนี้: <TextBlock Text="{Binding Path=Text, Converter={StaticResource stringFormatConverter}, ConverterParameter='&\u2014{0}'}" /> เพื่อให้ได้ - มาปรากฏหน้าข้อความ มันใช้ไม่ได้ ฉันควรทำอะไรที่นี่?
104 wpf  xaml  unicode  binding 

2
ความสูงอัตโนมัติ WPF ในรหัส
ฉันจะตั้งค่าHeightคุณสมบัติของตัวควบคุม WPF ในรหัส C # เป็น " Auto" ได้อย่างไร <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="Auto" /> <RowDefinition /> <RowDefinition Height="Auto" /> <RowDefinition /> <RowDefinition Height="Auto" /> <RowDefinition /> <RowDefinition Height="Auto" /> <RowDefinition /> </Grid.RowDefinitions> ฉันต้องการสร้างพฤติกรรมนี้ซ้ำในโค้ดด้านหลัง ความคิดใด ๆ ?
104 c#  wpf  xaml 

9
วิธีสร้าง WPF UserControl ด้วยเนื้อหา NAMED
ฉันมีชุดการควบคุมพร้อมคำสั่งและตรรกะที่แนบมาซึ่งใช้ซ้ำในลักษณะเดียวกันอยู่ตลอดเวลา ฉันตัดสินใจที่จะสร้างการควบคุมผู้ใช้ที่มีการควบคุมและตรรกะทั่วไปทั้งหมด อย่างไรก็ตามฉันต้องการการควบคุมเพื่อให้สามารถเก็บเนื้อหาที่สามารถตั้งชื่อได้ ฉันลองทำสิ่งต่อไปนี้: <UserControl.ContentTemplate> <DataTemplate> <Button>a reused button</Button> <ContentPresenter Content="{TemplateBinding Content}"/> <Button>a reused button</Button> </DataTemplate> </UserControl.ContentTemplate> อย่างไรก็ตามดูเหมือนว่าเนื้อหาใด ๆ ที่อยู่ในส่วนควบคุมผู้ใช้จะไม่สามารถตั้งชื่อได้ ตัวอย่างเช่นถ้าฉันใช้การควบคุมในลักษณะต่อไปนี้: <lib:UserControl1> <Button Name="buttonName">content</Button> </lib:UserControl1> ฉันได้รับข้อผิดพลาดต่อไปนี้: ไม่สามารถตั้งค่าแอตทริบิวต์ Name "buttonName" ในองค์ประกอบ "Button" 'ปุ่ม' อยู่ภายใต้ขอบเขตขององค์ประกอบ 'UserControl1' ซึ่งมีชื่อที่ลงทะเบียนไว้แล้วเมื่อถูกกำหนดในขอบเขตอื่น ถ้าฉันลบ buttonName ออกมันจะคอมไพล์ แต่ฉันต้องสามารถตั้งชื่อเนื้อหาได้ ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร?
102 c#  wpf  xaml  user-controls  controls 

3
จะตั้งค่าการผูกใน Code ได้อย่างไร?
ฉันจำเป็นต้องตั้งค่าการผูกรหัส ดูเหมือนฉันจะเข้าใจไม่ถูก นี่คือสิ่งที่ฉันได้ลอง: XAML: <TextBox Name="txtText"></TextBox> รหัสหลัง: Binding myBinding = new Binding("SomeString"); myBinding.Source = ViewModel.SomeString; myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(txtText, TextBox.TextProperty, myBinding); ดู public string SomeString { get { return someString; } set { someString= value; OnPropertyChanged("SomeString"); } } คุณสมบัติไม่ได้รับการอัปเดตเมื่อฉันตั้งค่า ผมทำอะไรผิดหรือเปล่า?
100 c#  wpf  xaml  data-binding 

5
ปุ่มในคอลัมน์รับแถวที่มาจากตัวจัดการเหตุการณ์คลิก
ฉันตั้งค่า itemsource ของ WPF Datagrid ของฉันเป็นรายการวัตถุที่ส่งคืนจาก DAL ของฉัน ฉันยังได้เพิ่มคอลัมน์พิเศษที่มีปุ่ม xaml อยู่ด้านล่าง <toolkit:DataGridTemplateColumn MinWidth="100" Header="View"> <toolkit:DataGridTemplateColumn.CellTemplate> <DataTemplate> <Button Click="Button_Click">View Details</Button> </DataTemplate> </toolkit:DataGridTemplateColumn.CellTemplate> </toolkit:DataGridTemplateColumn> สิ่งนี้แสดงผลได้ดี อย่างไรก็ตามในเมธอดButton_Clickมีวิธีใดบ้างที่ฉันจะได้รับแถวบนดาต้ากริดที่มีปุ่มอยู่ โดยเฉพาะอย่างยิ่งคุณสมบัติอย่างหนึ่งของวัตถุของฉันคือ "Id" และฉันต้องการส่งสิ่งนี้ไปยังตัวสร้างของรูปแบบอื่นในตัวจัดการเหตุการณ์ private void Button_Click(object sender, RoutedEventArgs e) { //I need to know which row this button is on so I can retrieve the "id" …

7
มีแนวทางใดบ้างสำหรับข้อมูลเวลาออกแบบจำลองใน WPF
ฉันกำลังทำงานโดยไม่มีการผสมผสานนิพจน์และใช้ตัวแก้ไข XAML ใน vs2010 นอกเหนือจากภูมิปัญญานี้แล้วฉันก็เห็นความจำเป็นในการผูกข้อมูลเวลาออกแบบมากขึ้น สำหรับกรณีง่ายๆFallbackValueคุณสมบัตินี้ใช้งานได้ดีมาก (Textboxes และ TextBlocks ฯลฯ ) แต่โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับItemsControlสิ่งที่คล้ายกันเราต้องการข้อมูลตัวอย่างเพื่อให้มองเห็นได้ในตัวออกแบบเพื่อให้คุณสามารถปรับและปรับแต่งการควบคุมและเทมเพลตข้อมูลโดยไม่ต้องเรียกใช้ไฟล์ปฏิบัติการ ฉันรู้ว่าObjectDataProviderอนุญาตให้ผูกกับประเภทและทำให้สามารถให้ข้อมูลเวลาออกแบบสำหรับการแสดงภาพได้ แต่ก็มีการเล่นกลเพื่อให้ข้อมูลเรียลไทม์สามารถผูกได้โดยไม่ต้องเสียทรัพยากรโดยการโหลดโหลดทั้งเวลาออกแบบ ข้อมูลจำลองและการเชื่อมโยงรันไทม์ สิ่งที่ฉันต้องการจริงๆคือความสามารถในการมีพูด "จอห์น" "พอล" "จอร์จ" และ "ริงโก" ปรากฏในตัวออกแบบ XAML เป็นรายการที่มีสไตล์ในของฉันItemsControlแต่ข้อมูลจริงจะปรากฏขึ้นเมื่อแอปพลิเคชัน วิ่ง ฉันรู้ด้วยว่า Blend อนุญาตให้มีคุณสมบัติแฟนซีบางอย่างที่กำหนดข้อมูลการผูกเวลาออกแบบที่ WPF ละเลยอย่างมีประสิทธิภาพในเงื่อนไขรันไทม์ ดังนั้นคำถามของฉันคือ: 1. ฉันจะใช้ประโยชน์จากการเชื่อมโยงเวลาออกแบบของคอลเลกชันและข้อมูลที่ไม่สำคัญในตัวออกแบบ XAML ของ Visual Studio แล้วเปลี่ยนไปใช้การเชื่อมโยงรันไทม์ได้อย่างไร 2. ผู้อื่นแก้ไขปัญหาข้อมูลเวลาออกแบบเทียบกับรันไทม์นี้อย่างไร ในกรณีของฉันฉันไม่สามารถใช้ข้อมูลเดียวกันสำหรับทั้งสองอย่างได้อย่างง่ายดาย (เช่นเดียวกับที่สามารถทำได้ด้วยเช่นการสืบค้นฐานข้อมูล) 3. ทางเลือกอื่นในการผสมผสานนิพจน์ที่ฉันสามารถใช้สำหรับการออกแบบ XAML ที่รวมข้อมูลได้หรือไม่ (ฉันรู้ว่ามีทางเลือกอื่น แต่ฉันต้องการบางอย่างที่ฉันสามารถใช้ได้และดูข้อมูลตัวอย่างที่ถูกผูกไว้ ฯลฯ )

5
ฉันจะตั้งค่า ViewModel บนหน้าต่างใน XAML โดยใช้คุณสมบัติ DataContext ได้อย่างไร
คำถามพูดได้ทั้งหมด ฉันมีหน้าต่างและได้พยายามตั้งค่า DataContext โดยใช้เนมสเปซแบบเต็มให้กับ ViewModel แต่ดูเหมือนว่าฉันจะทำอะไรผิดพลาด <Window x:Class="BuildAssistantUI.BuildAssistantWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" DataContext="BuildAssistantUI.ViewModels.MainViewModel">
96 .net  wpf  xaml  mvvm 

8
HorizontalAlignment = Stretch, MaxWidth และ Left aligned ในเวลาเดียวกัน?
ดูเหมือนว่ามันจะง่าย แต่ฉันก็นิ่งงัน ใน WPF ฉันต้องการกล่องข้อความที่ขยายไปตามความกว้างของพาเรนต์ แต่ต้องมีความกว้างสูงสุดเท่านั้น ปัญหาคือฉันต้องการให้มันถูกปล่อยให้เป็นธรรมภายในพาเรนต์ หากต้องการยืดคุณต้องใช้ HorizontalAlignment = "Stretch" แต่ผลลัพธ์จะอยู่กึ่งกลาง ฉันได้ทดลองกับ HorizontalContentAlignment แล้ว แต่ดูเหมือนจะไม่ทำอะไรเลย ฉันจะทำให้กล่องข้อความสีฟ้าโตขึ้นตามขนาดของหน้าต่างมีความกว้างสูงสุด 200 พิกเซลได้อย่างไรและถูกปล่อยให้เป็นธรรม? <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanel> <TextBox Background="Azure" Text="Hello" HorizontalAlignment="Stretch" MaxWidth="200" /> </StackPanel> </Page> เคล็ดลับคืออะไร?
96 wpf  xaml  alignment  stretch 

5
WPF UserControl สามารถสืบทอด WPF UserControl ได้อย่างไร
WPF UserControl ต่อไปนี้เรียกว่าDataTypeWholeNumberซึ่งใช้งานได้ ตอนนี้ฉันต้องการสร้าง UserControl ชื่อDataTypeDateTimeและDataTypeEmailเป็นต้น คุณสมบัติการพึ่งพาจำนวนมากจะถูกใช้ร่วมกันโดยการควบคุมเหล่านี้ทั้งหมดดังนั้นฉันจึงต้องการใส่วิธีการทั่วไปลงใน BaseDataTypeและให้ UserControl แต่ละตัวสืบทอดมาจากประเภทพื้นฐานนี้ แต่เมื่อฉันทำอย่างนั้นฉันจะได้รับข้อผิดพลาดชี้แจงบางส่วนอาจไม่ได้มีฐานเรียนที่แตกต่างกัน ดังนั้นฉันจะใช้การสืบทอดกับ UserControl ได้อย่างไรเพื่อให้ฟังก์ชันการทำงานที่แชร์ทั้งหมดอยู่ในคลาสพื้นฐาน using System.Windows; using System.Windows.Controls; namespace TestDependencyProperty827.DataTypes { public partial class DataTypeWholeNumber : BaseDataType { public DataTypeWholeNumber() { InitializeComponent(); DataContext = this; //defaults TheWidth = 200; } public string TheLabel { get { return (string)GetValue(TheLabelProperty); } set …
95 c#  wpf  xaml  user-controls 

2
เต็มหน้าจอในแอปพลิเคชัน WPF
ฉันกำลังพัฒนาแอปพลิเคชัน WPF ซึ่งจะแสดงแบบเต็มหน้าจอ นอกจากนี้แอปพลิเคชันควรทำงานบนแท็บเล็ตหลายมิติ ฉันต้องการให้แอปพลิเคชันของฉันทำงานแบบเต็มหน้าจอโดยไม่ขึ้นกับขนาด แนวทางปฏิบัติที่ดีที่สุดในการทำงานนี้ให้สำเร็จคืออะไร?
95 c#  wpf  xaml  fullscreen 

3
วิธีจัดรูปแบบจำนวนตำแหน่งทศนิยมใน wpf โดยใช้ style / template
ฉันกำลังเขียนโปรแกรม WPF และฉันพยายามหาวิธีจัดรูปแบบข้อมูลในกล่องข้อความด้วยวิธีการที่ทำซ้ำได้เช่นสไตล์หรือเทมเพลต ฉันมีกล่องข้อความจำนวนมาก (95 เป็นค่าที่แน่นอน) และแต่ละอันจะเชื่อมโยงกับข้อมูลตัวเลขของตัวเองซึ่งแต่ละอันสามารถกำหนดความละเอียดของตัวเองได้ ตัวอย่างเช่นหากข้อมูลเป็น 99.123 ที่มีความละเอียด 2 ข้อมูลก็ควรแสดงเป็น 99.12 ในทำนองเดียวกันค่าข้อมูล 99 และความละเอียด 3 ควรแสดงเป็น 99.000 (ไม่ใช่ 99) มีวิธีทำไหม? แก้ไข: ฉันควรจะชี้แจงมีกล่องข้อความ 95 รายการบนหน้าจอปัจจุบันที่ฉันกำลังทำงานอยู่ แต่ฉันต้องการให้กล่องข้อความทุกชิ้นตลอดหน้าจอต่างๆในโปรแกรมของฉันแสดงจำนวนตำแหน่งทศนิยมที่ถูกต้อง ตอนนี้ฉันคิดเกี่ยวกับเรื่องนี้บางส่วนเป็น TextBoxes (เช่นหน้าจอที่ฉันกำลังทำงานอยู่ตอนนี้) และบางส่วนเป็น DataGrids หรือ ListViews แต่ถ้าฉันสามารถหาวิธีทำให้มันทำงานกับกล่องข้อความได้ฉันแน่ใจว่าฉันสามารถคิดได้ สำหรับการควบคุมอื่น ๆ ด้วย ในกรณีนี้มีโค้ดไม่มากนัก แต่ฉันจะพยายามทำให้ชัดเจนขึ้น: ฉันมี View Model ซึ่งมีคุณสมบัติดังต่อไปนี้ (vb.net): Public ReadOnly Property Resolution As …

9
วิธีจัดรูปแบบ TimeSpan ใน XAML
ฉันพยายามจัดรูปแบบบล็อกข้อความที่เชื่อมโยงกับTimeSpanคุณสมบัติ ใช้งานได้หากคุณสมบัติเป็นประเภทDateTimeแต่จะล้มเหลวหากเป็นไฟล์TimeSpan. ฉันสามารถทำได้โดยใช้ตัวแปลง แต่ฉันกำลังพยายามค้นหาว่ามีทางเลือกอื่นหรือไม่ รหัสตัวอย่าง: public TimeSpan MyTime { get; set; } public Window2() { InitializeComponent(); MyTime = DateTime.Now.TimeOfDay; DataContext = this; } Xaml <TextBlock Text="{Binding MyTime,StringFormat=HH:mm}"/> ฉันคาดหวังว่าบล็อกข้อความจะแสดงเฉพาะชั่วโมงและมินต์ แต่แสดงเป็น: 19: 10: 46.8048860

11
คลิกเดียวแก้ไขใน WPF DataGrid
ฉันต้องการให้ผู้ใช้สามารถนำเซลล์เข้าสู่โหมดแก้ไขและไฮไลต์แถวที่เซลล์นั้นอยู่ในคลิกเดียว ตามค่าเริ่มต้นนี่คือดับเบิลคลิก ฉันจะลบล้างหรือใช้สิ่งนี้ได้อย่างไร
92 c#  .net  wpf  events  xaml 

2
“ {Binding Path =.}” หมายความว่าอย่างไรในการเชื่อม WPF
ความ{Binding Path=.}หมายในการผูก WPF คืออะไร? ฉันเห็นบางคนใช้ แต่ไม่พบคำอธิบายใด ๆ มีสัญลักษณ์พิเศษอื่น ๆ ในไวยากรณ์การผูก (นอกเหนือจาก{Binding /}) หรือไม่?
92 wpf  data-binding  xaml 

10
TextBox.TextChanged เหตุการณ์ที่เริ่มทำงานสองครั้งบนโปรแกรมจำลอง Windows Phone 7
ฉันมีแอปทดสอบที่ง่ายมากเพื่อเล่นกับ Windows Phone 7 ฉันเพิ่งเพิ่ม a TextBoxและ a TextBlockลงในเทมเพลต UI มาตรฐาน โค้ดที่กำหนดเองมีดังต่อไปนี้: public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); } private int counter = 0; private void TextBoxChanged(object sender, TextChangedEventArgs e) { textBlock1.Text += "Text changed " + (counter++) + "\r\n"; } } TextBox.TextChangedเหตุการณ์เป็นสายขึ้นไปTextBoxChangedใน XAML ไปนี้: …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.