当我编写此Wpf xaml代码时,为什么Visual Studio关闭

时间:2012-04-26 09:14:53

标签: wpf visual-studio-2010 c#-4.0

我已经在wpf中编写了一个代码,通过接受这两个数字来显示指数 因为我已经创建了一个转换器功能和代码.. 但是在写完这段代码之后就显示出错误了 “Microsoft Visual Studio遇到问题,它必须关闭”..然后当我们点击不发送它关闭Vs2010。 可能是什么问题?代码附在这里......

namespace WpfTutSamples
{

    public partial class Exponential : Window
    {
        public Exponential()
        {
            InitializeComponent();
        }
        public double GetValue(double number, double exponent)
        {
            double value = Math.Pow(number, exponent);
            return value;

        }
    }
}
  

----- XmlCode

<Window x:Class="WpfTutSamples.Exponential"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfTutSamples"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="Exponential" Height="300" Width="300">

    <Window.Resources>
        <ObjectDataProvider x:Key="expCalculator" MethodName="GetValue" ObjectType="{x:Type local:Exponential}">
            <ObjectDataProvider.MethodParameters>
                <sys:Double>4</sys:Double>
                <sys:Double>2</sys:Double>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
    </Window.Resources>


    <Grid>

        <Label Content="Number" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="2"> </Label>

        <TextBox HorizontalAlignment="Left" x:Name="txtNumber" Height="30" VerticalAlignment="Top" Margin="70,1" Width="60"
                 Text="{Binding Source={StaticResource expCalculator}, Path=MethodParametes[0], Mode=OneWayToSource, BindsDirectlyToSource=True}"></TextBox>


        <Label Content="Number" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="2,40"> </Label>
        <TextBox HorizontalAlignment="Left" x:Name="txtpower" Height="30" VerticalAlignment="Top" Margin="70,40" Width="60"
                 Text="{Binding Source={StaticResource expCalculator}, Path=MethodParametes[1], Mode=OneWayToSource, BindsDirectlyToSource=True}"></TextBox>


<Label Content="Result" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="2,80"> </Label>
        <TextBox HorizontalAlignment="Left" x:Name="txtResult" Height="30" VerticalAlignment="Top" Margin="70,80" Width="60"
                 Text="{Binding Source={StaticResource expCalculator}}"></TextBox>

    </Grid>
</Window>

1 个答案:

答案 0 :(得分:1)

<强>答案

也许是因为stackoverflow?您从ExponentialExponential引用ObjectDataProvider class'方法,该方法创建Exponential类实例,实例化ObjectDataProvider,依此类推。

<强>解释

ObjectDataProvider绑定到方法需要实例化类,包含调用它的方法。这就是你无休止复发的原因。

解决方法

将方法放在单独的类中,并在Exponential.xaml中以ObjectDataProvider引用