2012-04-26 81 views
0

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

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> 
+0

当您重新打开VS会发生什么由ObjectDataProvider参考呢? – 2012-04-26 09:19:46

回答

1

回答

也许是因为计算器的?你参考Exponential类的方法Exponential类'ObjectDataProvider,它创建Exponential类实例,它实例化ObjectDataProvider等。

说明

ObjectDataProvider结合的方法需要实例化类,包含该方法调用它。这就是为什么你有无尽的复发。在一个单独的类

解决方法

广场方法和Exponential.xaml

+0

同意,由于堆栈溢出导致VS崩溃。 – GazTheDestroyer 2012-04-26 11:12:13

+0

是的,VS xaml的设计师并没有处理它 – EvAlex 2012-04-26 11:48:06

+0

谢谢...它工作正常 – 2012-04-28 09:40:54