Tag: xaml

在ListBox ItemTemplate中的Togglebutton中的Textblock内进行Textwrapping

我正在尝试为列表框项目实现ToggleButton控件模板。 这将在用户可以单击列表框项目以显示某个function的应用程序中使用。 列表框项模板定义如下: 并且列表框定义为 这里我有两个文本块,一个绑定到ExampleDisplayName,另一个绑定到ExampleDescription。 我想要实现的效果是让第二个文本块(描述)环绕,受可用空间的约束。 这就是我现在得到的: 我想要的是显示示例描述的第二行,根据列表框的大小进行换行。 当应用程序启动时,列表框应自动resize到第一行+边距。 有什么建议?

如何绘制三点角度的弧线?

我正在创建一个可以绘制角度的控件。 我有三个依赖对象。 半径:线的长度 StartAngle:我应该从什么程度开始 角度 这是关于当前绘制的程序的截图(红线是我想要绘制的)。 所以我还没有完成的是电弧。 我需要一些帮助来绘制它。 这就是我所拥有的。 public class AngleControl2 : Control { static AngleControl2() { DefaultStyleKeyProperty.OverrideMetadata(typeof(AngleControl2), new FrameworkPropertyMetadata(typeof(AngleControl2))); } public double Angle { get { return (double)base.GetValue(AngleProperty); } set { base.SetValue(AngleProperty, value); } } public static readonly DependencyProperty AngleProperty = DependencyProperty.Register(“Angle”, typeof(double), typeof(AngleControl2), new PropertyMetadata(90.0, new PropertyChangedCallback(AngleChanged))); public double StartAngle { get […]

Windows Phone CollectionViewSort没有显示任何内容

我正在尝试在WP8应用程序中开发一个页面,该应用程序顶部有一个搜索框,以及与下面的搜索匹配的项目列表,随着搜索框的更新而更新。 很简单,对吧? 除了我不能让它工作。 在仔细阅读StackOverflow和interwebz之后,推荐的解决方案似乎是使用CollectionViewSource 。 好吧,我正在尝试使用它,没有任何项目出现。 一旦我切换到包含我在XAML中的项目的ObservableCollection ,一切都显示正常。 我的数据是从数据库异步加载的。 XAML 查看模型 public class MyViewModel { private ObservableCollection _allItems = new ObservableCollection(); public CollectionViewSource SearchResults { get; private set; } public MyViewModel() { SearchResults = new CollectionViewSource { Source = _allItems }; _allItems.CollectionChanged += (_, __) => SearchResults.View.Refresh(); LoadAllItemsAsync(); } private async void LoadAllItemsAsync() { IList […]

在Caliburn.Micro中如何将动作绑定到嵌套的ViewModel方法?

我有一个WPF应用程序,由Caliburn.Micro提供支持,是视图模型的第一种方法。 有一个命令栏类型的控件,其CommandBarView.xaml和绑定的CommandBarViewModel 。 命令栏VM包含许多嵌套的VM,每个按钮控件一个,所有这些都显示一个公共接口并具有共同的行为。 命令栏VM公开它们以便可以从视图绑定它们: public interface IWarningButtonViewModel { bool IsVisible { get; } bool CanShowWarning { get; } void ShowWarning(); } public class CommandBarViewModel : PropertyChangedBase { public IWarningButtonViewModel UserNotFoundWarning { get; private set; } public IWarningButtonViewModel NetworkProblemWarning { get; private set; } // … initialization omitted for simplicity } 对于一些CommandBarView,这是一个暂定的XAML: … … 通过这种方式,我能够成功绑定两个属性( […]

关闭/删除选项卡项WPF

我在窗口中有一个选项卡控件。 选项卡都有简单的上下文菜单(应该允许用户关闭它们)。 但是,当我点击关闭时,没有任何反应。 这是事件处理程序 void closeTab_Click(object sender, RoutedEventArgs e) { Tabs.Items.Remove((MenuItem)sender); } 我已经四处查看关闭标签,但我找到的文章都没有详细介绍如何关闭标签。 新问题: void closeTab_Click(object sender, RoutedEventArgs e) { MenuItem close = (MenuItem)sender; Tabs.Items.Remove(Convert.ToInt32(close.Name.Remove(0,3))); } 上下文菜单项因此命名: Name = “Tab” + Tabs.Items.Count.ToString(), 它什么都没做

使用Roslyn编译xaml

简短的故事:有没有办法使用Roslyn编译器来编译WPF UserControl? 假设你想要编译一个包含标准C#代码和WPF控件(XAML和xaml.cs文件)的程序集,当然没有任何csproj。 我在网上发现了很多关于如何使用Roslyn编译DLL的内容,没有关于如何处理XAML文件的内容? 我知道Visual Studio(或MSBuild)会创建一个临时生成的文件,并在生成的程序集中嵌入一个BAML文件。 所以,如果我能找到一种生成这个中间文件的方法,我可以使用它,但我发现的只是PresentationBuildTasks.MarkupCompilePass,最终需要一个csproj(好吧,我可能会动态生成一个项目,但我希望找到更简单的东西)。 谢谢你的帮助。

Frame.Navigate到另一个程序集中的Page派生类

我想将Windows Phone 8基于空白应用程序模板的视图保存在与包含应用程序清单和App.xaml的程序集不同的程序集中。 我一直收到一个神秘的例外,它在弄清楚如何解决它时根本没有帮助: 从模板Visual C#> Store Apps> Windows Phone Apps> Blank App(Windows Phone)创建一个新项目。 构建和部署,效果很好。 MainPage.xaml的属性声明Build Action是Page,这是正确的。 基于包含原始项目的解决方案中相同类别的类库(Windows Phone)模板创建一个新项目,将其命名为MyApp.Views 。 使用剪切和粘贴命令将MainView.xaml文件移动到新创建的项目。 将对MyApp.Views的引用添加到原始项目。 构建,部署,查看应用程序启动和找不到视图只是为了将此exception传播回开发人员的框: ComException : 错误HRESULT E_FAIL已从调用COM组件返回。 这并没有说绝对任何有用的东西,顶部堆栈框架是Windows.UI.Xaml.Controls.Frame.Navigate(Type sourcePageType, Object parameter)紧跟第一个,即TheOriginalProject.App.OnLaunched(LaunchActivatedEventArgs e) 。 解决方案是不使用带有包URI的NavigationService ,因为它似乎在Windows Phone 8中不存在,或者至少默认情况下在Blank App模板中没有引用包含它的程序集。 无论如何,我非常喜欢强类型视图名称而不是包URI。 我想有人必须已经遇到这个问题,有什么问题? 是否有API或工具可以让我了解来自COM的最新E_FAIL是什么? 编辑:当使用Window.Current.Content = new MainPage()作为OnLaunched的唯一内容时,会弹出XAML解析器exception。 它无法填充exception消息,但绝对可以更好地提示正在发生的事情。 但是,仍然没有解决方案,问题只转移到MainPage构造函数中的this.InitializeComponent() 。 我现在看到的是Windows.UI.Xaml.Markup.XamlParseException ,包含Parser内部错误的 WinRT信息:对象编写器’%0′和无法加载的附加信息。 x:Class属性出现在exception对话框窗口提示的位置128, 这个线程似乎相关,但我无法弄清楚如何。 请注意,我也会在确认没有收到错误的人身上找到值。 如果您已经尝试了重现并且无法重现问题的步骤,请写一条评论,以便我可以确定导致我正在努力解决的错误。

如何在另一个xaml中获取文本框的文本到文本块? c#windows商店应用

我的MainPage.xaml中的代码 我的MainPage.xaml.cs中的代码 public string TextBox1Text { get { return this.txtBox1.Text; } set { this.txtBox1.Text = value; } } 我的Page2.xaml中的代码 MainPage main = new MainPage(); protected override void OnNavigatedTo(NavigationEventArgs e) { txtBlock1.Text = main.TextBox1Text; } 当我运行它时,我的文本块中没有输出文本

如何在 上使用mouseDown和mouseUp

我有一个在XAML中声明的按钮,它具有MouseDown和MouseUp属性,它们都调用指定的方法… 但是,从不调用方法btnBackward_MouseReleased。 private void btnBackward_MouseReleased(object sender, System.Windows.Input.MouseEventArgs e) { Console.WriteLine(“mousereleased”); this.isRewinding = false; } 我错过了什么?

如何捕获项目模板时单击ListboxItem?

我有一个ListBox与ItemsTemplate集。 现在我想要在ListBoxItem上按Ctrl +左键单击。 我发现KeyBoard类应该给我修饰键。 现在我如何获得ListBoxItem上的click事件? 更好的是,我如何将其绑定到ICommand。 我发现了一些零碎但却不知道如何连接它们。 似乎InputBinding似乎可以帮助我或EventSetter 。