我通过主窗口的设计者ReportViewer在WPF应用程序中添加了一个XAML,我想添加一个现有的rdlc文件.
我希望我的reportviewer在启动时显示一个空的rdlc文件(没有参数),稍后从我的datagrid中选择一行(绑定到observablecollection)相应地更改其参数并显示填充的报告定义而不是空的报告定义.
我将创建一个按钮,将所选行作为命令参数和相关事件以及所有内容,我只需要能够将数据传递给报表.我意识到这不是一个简单的问题所以我会尝试简化:
我希望我已经清楚了.谢谢你提前回答!
我想将命令绑定到我的按钮的命令属性.这似乎非常简单,因为我之前在WPF中已经多次这样做了,这里的方法非常相似.让我展示一些代码片段.
XAML
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.View.CustomPage"
Title="Something">
<ContentPage.Content>
<StackLayout>
<Button x:Name="numBtn" Text="Increase number" Command="{Binding IncreaseCommand}" />
<Label x:Name="numLabel" Text="{Binding numberText}" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
Run Code Online (Sandbox Code Playgroud)
代码隐藏
public partial class CustomPage : ContentPage
{
public CustomPage ()
{
InitializeComponent ();
BindingContext = ViewModelLocator.ViewModel(); //ViewModelLocator is singleton, gives
//you a ViewModel instance
}
}
Run Code Online (Sandbox Code Playgroud)
视图模型
public ICommand IncreaseCommand { get; private set; }
private int number;
public string numberText { get; private set;}
Run Code Online (Sandbox Code Playgroud)
构造函数:
public ViewModel()
{
IncreaseCommand = new …Run Code Online (Sandbox Code Playgroud) 我正在使用Xamarin.Forms,我想创建一个类似于Facebook应用程序的导航方法,以及其他不同应用程序的更新版本.这是两张图片,一张是Android上的Facebook应用程序,另一张是KakaoTalk,也是在Android上.


我已经尝试了几种不同的方法来实现它.例如,我将MainPage(TabbedPage)包装在NavigationPage中.我还尝试在NavigationPage中包装MainPage(ContentPage)然后调用
PushAsync(new TabbedPage());
Run Code Online (Sandbox Code Playgroud)
通过该Navigation属性在MainPage内.我还尝试将MainPage(TabbedPage)的子项包装在单独的NavigationPage中.这些尝试都没有产生预期的效果.
我希望以下情况发生.当用户点击按钮或导航到另一个页面的东西时,我希望ContentPage弹出所有内容(包括标签栏),导航栏(或操作栏)除外.显然,这通过该PushAsync()方法发生,该方法还导致导航栏中出现小的后退箭头.我的理解是,PushAsync()调用将所选页面推送到NavigationPage提供的导航堆栈.因此,如果TabbedPage被包装在NavigationPage中,则新的ContentPage将无法像在上面提到的两个应用程序中一样弹出选项卡.
这个以及所述应用程序的标签栏没有进入横向模式的ActionBar(在Android中)这一事实让我相信我想要实现的最好不要使用TabbedPage,而是像标签栏,例如也许是水平的按钮堆栈.
有没有人使用Xamarin.Forms以正确的方式正确实现这一点?所以再一次,我想让这个标签像导航一样,标签停留在横向模式下的ActionBar下面,当推到导航堆栈上时,新标签出现在标签前面(隐藏它们).你认为这可以用Custom Renderer来完成吗?当然在iOS中这些都是使用标签完成的,但在Android中我不确定.
我想要的不一定是代码示例,而是这个问题的最佳实践.再次,这是在Xamarin.Forms与一个常见的PCL项目和一个Android和iOS项目.提前感谢您的答案和建议!
PS:我之前很明显搜索过这个网站(谷歌也是如此),但我没有找到关于这个问题的真实文章.
我是 Xamarin.Forms 的新手,我想使用 MVVM 模式和 XAML 创建一个跨平台应用程序。在我的形式项目(PCL),我想设置的BindingContext我的的MainPage在未来的多个页面,并以同样的视图模型。这可能吗?让我展示一下我在说什么。下面是我早期WPF项目 ( App.xaml.cs )的代码片段:
public partial class App : Application
{
private MainWindow _MainWindow;
private MyViewModel _ViewModel;
public App()
{
_ViewModel = new MyViewModel();
_ViewModel.SomeEvent += new System.EventHandler(ViewModel_SomeEvent);
}
}
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
_MainWindow = new MainWindow();
_MainWindow.DataContext = _ViewModel;
_MainWindow.Show();
}
private void ViewModel_SomeEvent(object sender, EventArgs e)
{
//Do something
}
Run Code Online (Sandbox Code Playgroud)
ViewModel 的内容并不重要。使用这个结构,我能够设置与多个窗口_ViewModel的DataContext相同的对象。Xamarin.Forms 中是否有与此等效的内容?
这是我的 pcl 项目(App.cs)中的一个简单代码: …